[Python-checkins] python/dist/src/Lib/test test_set.py,1.15,1.16

rhettinger at users.sourceforge.net rhettinger at users.sourceforge.net
Tue Nov 9 08:25:34 CET 2004


Update of /cvsroot/python/python/dist/src/Lib/test
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv28891/Lib/test

Modified Files:
	test_set.py 
Log Message:
SF 1062353:  set pickling problems

Support automatic pickling of dictionaries in instance of set subclasses.



Index: test_set.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/test/test_set.py,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -d -r1.15 -r1.16
--- test_set.py	28 Sep 2004 01:51:35 -0000	1.15
+++ test_set.py	9 Nov 2004 07:25:31 -0000	1.16
@@ -175,9 +175,15 @@
         self.failIf(set('cbs').issuperset('a'))
 
     def test_pickling(self):
-        p = pickle.dumps(self.s)
-        dup = pickle.loads(p)
-        self.assertEqual(self.s, dup, "%s != %s" % (self.s, dup))
+        for i in (0, 1, 2):
+            p = pickle.dumps(self.s, i)
+            dup = pickle.loads(p)
+            self.assertEqual(self.s, dup, "%s != %s" % (self.s, dup))
+            if type(self.s) not in (set, frozenset):
+                self.s.x = 10
+                p = pickle.dumps(self.s)
+                dup = pickle.loads(p)
+                self.assertEqual(self.s.x, dup.x)
 
     def test_deepcopy(self):
         class Tracer:



More information about the Python-checkins mailing list