diff -r 9c96c3adbcd1 Lib/test/test_marshal.py --- a/Lib/test/test_marshal.py Sat Jun 18 20:21:09 2011 -0400 +++ b/Lib/test/test_marshal.py Sat Jun 25 18:10:09 2011 +0200 @@ -228,6 +228,22 @@ invalid_string = b'l\x02\x00\x00\x00\x00\x00\x00\x00' self.assertRaises(ValueError, marshal.loads, invalid_string) +class MultipleTestCase(unittest.TestCase): + + def test_multiple_dump_reload(self): + data = ( 1, 'abc', 1.0 ) + pos = [] + try: + with open(support.TESTFN, "wb") as f: + for d in data: + marshal.dump(d, f) + pos.append(f.tell()) + with open(support.TESTFN, "rb") as f: + for i in range(len(data)): + self.assertEqual(data[i], marshal.load(f)) + self.assertEqual(pos[i], f.tell()) + finally: + support.unlink(support.TESTFN) def test_main(): support.run_unittest(IntTestCase, @@ -236,7 +252,8 @@ CodeTestCase, ContainerTestCase, ExceptionTestCase, - BugsTestCase) + BugsTestCase, + MultipleTestCase) if __name__ == "__main__": test_main()