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,