[pypy-commit] pypy stdlib-2.7.12: expect pickle's errors from pypy's cPickle

pjenvey pypy.commits at gmail.com
Sun Oct 2 13:54:08 EDT 2016


Author: Philip Jenvey <pjenvey at underboss.org>
Branch: stdlib-2.7.12
Changeset: r87522:47ca169036ed
Date: 2016-10-02 10:51 -0700
http://bitbucket.org/pypy/pypy/changeset/47ca169036ed/

Log:	expect pickle's errors from pypy's cPickle

diff --git a/lib-python/2.7/test/test_cpickle.py b/lib-python/2.7/test/test_cpickle.py
--- a/lib-python/2.7/test/test_cpickle.py
+++ b/lib-python/2.7/test/test_cpickle.py
@@ -9,6 +9,7 @@
                                AbstractPicklerUnpicklerObjectTests,
                                BigmemPickleTests)
 from test import test_support
+from test.test_pickle import PickleTests, UnpicklerTests
 
 class cStringIOMixin:
     output = input = cStringIO.StringIO
@@ -51,10 +52,15 @@
 
     error = cPickle.BadPickleGet
     module = cPickle
-    bad_stack_errors = (cPickle.UnpicklingError,)
-    bad_mark_errors = (EOFError,)
-    truncated_errors = (cPickle.UnpicklingError, EOFError,
-                        AttributeError, ValueError)
+    if test_support.check_impl_detail(pypy=True):
+        bad_stack_errors = PickleTests.bad_stack_errors
+        bad_mark_errors = PickleTests.bad_mark_errors
+        truncated_errors = PickleTests.truncated_errors
+    else:
+        bad_stack_errors = (cPickle.UnpicklingError,)
+        bad_mark_errors = (EOFError,)
+        truncated_errors = (cPickle.UnpicklingError, EOFError,
+                            AttributeError, ValueError)
 
 class cPickleUnpicklerTests(AbstractUnpickleTests):
 
@@ -67,10 +73,15 @@
             self.close(f)
 
     error = cPickle.BadPickleGet
-    bad_stack_errors = (cPickle.UnpicklingError,)
-    bad_mark_errors = (EOFError,)
-    truncated_errors = (cPickle.UnpicklingError, EOFError,
-                        AttributeError, ValueError)
+    if test_support.check_impl_detail(pypy=True):
+        bad_stack_errors = UnpicklerTests.bad_stack_errors
+        bad_mark_errors = UnpicklerTests.bad_mark_errors
+        truncated_errors = UnpicklerTests.truncated_errors
+    else:
+        bad_stack_errors = (cPickle.UnpicklingError,)
+        bad_mark_errors = (EOFError,)
+        truncated_errors = (cPickle.UnpicklingError, EOFError,
+                            AttributeError, ValueError)
 
 class cStringIOCUnpicklerTests(cStringIOMixin, cPickleUnpicklerTests):
     pass


More information about the pypy-commit mailing list