4 from cStringIO
import StringIO
5 from pickletester
import AbstractPickleTests
, AbstractPickleModuleTests
7 class cPickleTests(AbstractPickleTests
, AbstractPickleModuleTests
):
10 self
.dumps
= cPickle
.dumps
11 self
.loads
= cPickle
.loads
13 error
= cPickle
.BadPickleGet
16 class cPicklePicklerTests(AbstractPickleTests
):
18 def dumps(self
, arg
, bin
=0):
20 p
= cPickle
.Pickler(f
, bin
)
27 p
= cPickle
.Unpickler(f
)
30 error
= cPickle
.BadPickleGet
32 class cPickleListPicklerTests(AbstractPickleTests
):
34 def dumps(self
, arg
, bin
=0):
35 p
= cPickle
.Pickler(bin
)
39 def loads(self
, *args
):
41 p
= cPickle
.Unpickler(f
)
44 error
= cPickle
.BadPickleGet
46 class cPickleFastPicklerTests(AbstractPickleTests
):
48 def dumps(self
, arg
, bin
=0):
50 p
= cPickle
.Pickler(f
, bin
)
56 def loads(self
, *args
):
58 p
= cPickle
.Unpickler(f
)
61 error
= cPickle
.BadPickleGet
63 def test_recursive_list(self
):
64 self
.assertRaises(ValueError,
65 AbstractPickleTests
.test_recursive_list
,
68 def test_recursive_inst(self
):
69 self
.assertRaises(ValueError,
70 AbstractPickleTests
.test_recursive_inst
,
73 def test_recursive_dict(self
):
74 self
.assertRaises(ValueError,
75 AbstractPickleTests
.test_recursive_dict
,
78 def test_recursive_multi(self
):
79 self
.assertRaises(ValueError,
80 AbstractPickleTests
.test_recursive_multi
,
83 def test_nonrecursive_deep(self
):
87 b
= self
.loads(self
.dumps(a
))
88 self
.assertEqual(a
, b
)
91 loader
= unittest
.TestLoader()
92 suite
= unittest
.TestSuite()
93 suite
.addTest(loader
.loadTestsFromTestCase(cPickleTests
))
94 suite
.addTest(loader
.loadTestsFromTestCase(cPicklePicklerTests
))
95 suite
.addTest(loader
.loadTestsFromTestCase(cPickleListPicklerTests
))
96 suite
.addTest(loader
.loadTestsFromTestCase(cPickleFastPicklerTests
))
97 test_support
.run_suite(suite
)
99 if __name__
== "__main__":