Port r71408 to py3k: issue 5665, add more pickling tests.
diff --git a/Lib/test/test_pickle.py b/Lib/test/test_pickle.py
index 65a7adc..bb681bf 100644
--- a/Lib/test/test_pickle.py
+++ b/Lib/test/test_pickle.py
@@ -6,6 +6,7 @@
from test.pickletester import AbstractPickleTests
from test.pickletester import AbstractPickleModuleTests
from test.pickletester import AbstractPersistentPicklerTests
+from test.pickletester import AbstractPicklerUnpicklerObjectTests
try:
import _pickle
@@ -60,6 +61,12 @@
return u.load()
+class PyPicklerUnpicklerObjectTests(AbstractPicklerUnpicklerObjectTests):
+
+ pickler_class = pickle._Pickler
+ unpickler_class = pickle._Unpickler
+
+
if has_c_implementation:
class CPicklerTests(PyPicklerTests):
pickler = _pickle.Pickler
@@ -69,11 +76,26 @@
pickler = _pickle.Pickler
unpickler = _pickle.Unpickler
+ class CDumpPickle_LoadPickle(PyPicklerTests):
+ pickler = _pickle.Pickler
+ unpickler = pickle._Unpickler
+
+ class DumpPickle_CLoadPickle(PyPicklerTests):
+ pickler = pickle._Pickler
+ unpickler = _pickle.Unpickler
+
+ class CPicklerUnpicklerObjectTests(AbstractPicklerUnpicklerObjectTests):
+ pickler_class = _pickle.Pickler
+ unpickler_class = _pickle.Unpickler
+
def test_main():
tests = [PickleTests, PyPicklerTests, PyPersPicklerTests]
if has_c_implementation:
- tests.extend([CPicklerTests, CPersPicklerTests])
+ tests.extend([CPicklerTests, CPersPicklerTests,
+ CDumpPickle_LoadPickle, DumpPickle_CLoadPickle,
+ PyPicklerUnpicklerObjectTests,
+ CPicklerUnpicklerObjectTests])
support.run_unittest(*tests)
support.run_doctest(pickle)