Issue 5665: add more pickling tests.
- Add tests for the module-level load() and dump() functions.
- Add tests for cPickle's internal data structures, stressing workloads
with many gets/puts.
- Add tests for the Pickler and Unpickler classes, in particular the
memo attribute.
- test_xpickle is extended to test backwards compatibility with Python
2.4, 2.5 and 2.6 by round-tripping pickled objects through a worker
process. This is guarded with a regrtest -u xpickle resource.
diff --git a/Lib/test/test_pickle.py b/Lib/test/test_pickle.py
index fb10ffe..6c83811 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
class PickleTests(AbstractPickleTests, AbstractPickleModuleTests):
@@ -60,11 +61,18 @@
u = PersUnpickler(f)
return u.load()
+class PicklerUnpicklerObjectTests(AbstractPicklerUnpicklerObjectTests):
+
+ pickler_class = pickle.Pickler
+ unpickler_class = pickle.Unpickler
+
+
def test_main():
test_support.run_unittest(
PickleTests,
PicklerTests,
- PersPicklerTests
+ PersPicklerTests,
+ PicklerUnpicklerObjectTests,
)
test_support.run_doctest(pickle)