blob: 3aebcc05f87e11576df9b791f46efad4b925ed06 [file] [log] [blame]
Guido van Rossumaa3828a1999-03-25 22:38:49 +00001import cPickle
Jeremy Hylton66426532001-10-15 21:38:56 +00002from cStringIO import StringIO
3from pickletester import AbstractPickleTests, AbstractPickleModuleTests
4from test_support import run_unittest
5
6class cPickleTests(AbstractPickleTests, AbstractPickleModuleTests):
7
8 def setUp(self):
9 self.dumps = cPickle.dumps
10 self.loads = cPickle.loads
11
12 error = cPickle.BadPickleGet
13 module = cPickle
14
15class cPicklePicklerTests(AbstractPickleTests):
16
17 def dumps(self, arg, bin=0):
18 f = StringIO()
19 p = cPickle.Pickler(f, bin)
20 p.dump(arg)
21 f.seek(0)
22 return f.read()
23
24 def loads(self, buf):
25 f = StringIO(buf)
26 p = cPickle.Unpickler(f)
27 return p.load()
28
29 error = cPickle.BadPickleGet
30
31class cPickleListPicklerTests(AbstractPickleTests):
32
33 def dumps(self, arg, bin=0):
34 p = cPickle.Pickler(bin)
35 p.dump(arg)
36 return p.getvalue()
37
38 def loads(self, *args):
39 f = StringIO(args[0])
40 p = cPickle.Unpickler(f)
41 return p.load()
42
43 error = cPickle.BadPickleGet
44
45class cPickleFastPicklerTests(AbstractPickleTests):
46
47 def dumps(self, arg, bin=0):
48 f = StringIO()
49 p = cPickle.Pickler(f, bin)
50 p.fast = 1
51 p.dump(arg)
52 f.seek(0)
53 return f.read()
54
55 def loads(self, *args):
56 f = StringIO(args[0])
57 p = cPickle.Unpickler(f)
58 return p.load()
59
60 error = cPickle.BadPickleGet
61
62 def test_recursive_list(self):
63 self.assertRaises(ValueError,
64 AbstractPickleTests.test_recursive_list,
65 self)
66
67 def test_recursive_inst(self):
68 self.assertRaises(ValueError,
69 AbstractPickleTests.test_recursive_inst,
70 self)
71
72 def test_recursive_dict(self):
73 self.assertRaises(ValueError,
74 AbstractPickleTests.test_recursive_dict,
75 self)
76
77 def test_recursive_multi(self):
78 self.assertRaises(ValueError,
79 AbstractPickleTests.test_recursive_multi,
80 self)
81
82if __name__ == "__main__":
83 run_unittest(cPickleTests)
84 run_unittest(cPicklePicklerTests)
85 run_unittest(cPickleListPicklerTests)
86 run_unittest(cPickleFastPicklerTests)