diff --git a/Lib/test/pickletester.py b/Lib/test/pickletester.py index cc464a9ff7d..36b3702d123 100644 --- a/Lib/test/pickletester.py +++ b/Lib/test/pickletester.py @@ -322,6 +322,20 @@ def test_newobj_list(self): self.assertEqual(x.__dict__, y.__dict__) ## import pickletools ## print +## pickletools.dis(s) + + def test_newobj_list_slots(self): + x = SlotList([1, 2, 3]) + x.foo = 42 + x.bar = "hello" + s = self.dumps(x, 2) + y = self.loads(s) + self.assertEqual(list(x), list(y)) + self.assertEqual(x.__dict__, y.__dict__) + self.assertEqual(x.foo, y.foo) + self.assertEqual(x.bar, y.bar) +## import pickletools +## print ## pickletools.dis(s) class MyTuple(tuple): @@ -330,6 +344,9 @@ class MyTuple(tuple): class MyList(list): pass +class SlotList(MyList): + __slots__ = ["foo"] + class AbstractPickleModuleTests(unittest.TestCase): def test_dump_closed_file(self):