Issue #22777: Test pickling with all protocols.
diff --git a/Lib/test/test_random.py b/Lib/test/test_random.py
index 1a5a86b..250f443 100644
--- a/Lib/test/test_random.py
+++ b/Lib/test/test_random.py
@@ -140,11 +140,12 @@
self.assertEqual(y1, y2)
def test_pickling(self):
- state = pickle.dumps(self.gen)
- origseq = [self.gen.random() for i in xrange(10)]
- newgen = pickle.loads(state)
- restoredseq = [newgen.random() for i in xrange(10)]
- self.assertEqual(origseq, restoredseq)
+ for proto in range(pickle.HIGHEST_PROTOCOL + 1):
+ state = pickle.dumps(self.gen, proto)
+ origseq = [self.gen.random() for i in xrange(10)]
+ newgen = pickle.loads(state)
+ restoredseq = [newgen.random() for i in xrange(10)]
+ self.assertEqual(origseq, restoredseq)
def test_bug_1727780(self):
# verify that version-2-pickles can be loaded
@@ -226,7 +227,8 @@
self.assertEqual(self.gen.gauss_next, None)
def test_pickling(self):
- self.assertRaises(NotImplementedError, pickle.dumps, self.gen)
+ for proto in range(pickle.HIGHEST_PROTOCOL + 1):
+ self.assertRaises(NotImplementedError, pickle.dumps, self.gen, proto)
def test_53_bits_per_float(self):
# This should pass whenever a C double has 53 bit precision.