SF 1098985: set objects cannot be marshalled
diff --git a/Lib/test/test_marshal.py b/Lib/test/test_marshal.py
index 5c1a3f3..9901a3c 100644
--- a/Lib/test/test_marshal.py
+++ b/Lib/test/test_marshal.py
@@ -170,6 +170,18 @@
self.assertEqual(t, new)
os.unlink(test_support.TESTFN)
+ def test_sets(self):
+ for constructor in (set, frozenset):
+ t = constructor(self.d.keys())
+ new = marshal.loads(marshal.dumps(t))
+ self.assertEqual(t, new)
+ self.assert_(isinstance(new, constructor))
+ self.assertNotEqual(id(t), id(new))
+ marshal.dump(t, file(test_support.TESTFN, "wb"))
+ marshal.load(file(test_support.TESTFN, "rb"))
+ self.assertEqual(t, new)
+ os.unlink(test_support.TESTFN)
+
class BugsTestCase(unittest.TestCase):
def test_bug_5888452(self):
# Simple-minded check for SF 588452: Debug build crashes