Moved unpickling tests with prepickled data to separate class.
diff --git a/Lib/test/test_cpickle.py b/Lib/test/test_cpickle.py
index 3bc700b..f6b3347 100644
--- a/Lib/test/test_cpickle.py
+++ b/Lib/test/test_cpickle.py
@@ -2,7 +2,8 @@
import cStringIO
import io
import unittest
-from test.pickletester import (AbstractPickleTests,
+from test.pickletester import (AbstractUnpickleTests,
+ AbstractPickleTests,
AbstractPickleModuleTests,
AbstractPicklerUnpicklerObjectTests,
BigmemPickleTests)
@@ -40,7 +41,8 @@
test_support.unlink(test_support.TESTFN)
-class cPickleTests(AbstractPickleTests, AbstractPickleModuleTests):
+class cPickleTests(AbstractUnpickleTests, AbstractPickleTests,
+ AbstractPickleModuleTests):
def setUp(self):
self.dumps = cPickle.dumps
@@ -49,6 +51,28 @@
error = cPickle.BadPickleGet
module = cPickle
+class cPickleUnpicklerTests(AbstractUnpickleTests):
+
+ def loads(self, buf):
+ f = self.input(buf)
+ try:
+ p = cPickle.Unpickler(f)
+ return p.load()
+ finally:
+ self.close(f)
+
+ error = cPickle.BadPickleGet
+
+class cStringIOCUnpicklerTests(cStringIOMixin, cPickleUnpicklerTests):
+ pass
+
+class BytesIOCUnpicklerTests(BytesIOMixin, cPickleUnpicklerTests):
+ pass
+
+class FileIOCUnpicklerTests(FileIOMixin, cPickleUnpicklerTests):
+ pass
+
+
class cPicklePicklerTests(AbstractPickleTests):
def dumps(self, arg, proto=0):
@@ -69,8 +93,6 @@
finally:
self.close(f)
- error = cPickle.BadPickleGet
-
class cStringIOCPicklerTests(cStringIOMixin, cPicklePicklerTests):
pass
@@ -129,8 +151,6 @@
finally:
self.close(f)
- error = cPickle.BadPickleGet
-
def test_recursive_list(self):
self.assertRaises(ValueError,
AbstractPickleTests.test_recursive_list,
@@ -219,6 +239,9 @@
def test_main():
test_support.run_unittest(
cPickleTests,
+ cStringIOCUnpicklerTests,
+ BytesIOCUnpicklerTests,
+ FileIOCUnpicklerTests,
cStringIOCPicklerTests,
BytesIOCPicklerTests,
FileIOCPicklerTests,