| import cPickle |
| from cStringIO import StringIO |
| from pickletester import AbstractPickleTests, AbstractPickleModuleTests |
| from test_support import run_unittest |
| |
| class cPickleTests(AbstractPickleTests, AbstractPickleModuleTests): |
| |
| def setUp(self): |
| self.dumps = cPickle.dumps |
| self.loads = cPickle.loads |
| |
| error = cPickle.BadPickleGet |
| module = cPickle |
| |
| class cPicklePicklerTests(AbstractPickleTests): |
| |
| def dumps(self, arg, bin=0): |
| f = StringIO() |
| p = cPickle.Pickler(f, bin) |
| p.dump(arg) |
| f.seek(0) |
| return f.read() |
| |
| def loads(self, buf): |
| f = StringIO(buf) |
| p = cPickle.Unpickler(f) |
| return p.load() |
| |
| error = cPickle.BadPickleGet |
| |
| class cPickleListPicklerTests(AbstractPickleTests): |
| |
| def dumps(self, arg, bin=0): |
| p = cPickle.Pickler(bin) |
| p.dump(arg) |
| return p.getvalue() |
| |
| def loads(self, *args): |
| f = StringIO(args[0]) |
| p = cPickle.Unpickler(f) |
| return p.load() |
| |
| error = cPickle.BadPickleGet |
| |
| class cPickleFastPicklerTests(AbstractPickleTests): |
| |
| def dumps(self, arg, bin=0): |
| f = StringIO() |
| p = cPickle.Pickler(f, bin) |
| p.fast = 1 |
| p.dump(arg) |
| f.seek(0) |
| return f.read() |
| |
| def loads(self, *args): |
| f = StringIO(args[0]) |
| p = cPickle.Unpickler(f) |
| return p.load() |
| |
| error = cPickle.BadPickleGet |
| |
| def test_recursive_list(self): |
| self.assertRaises(ValueError, |
| AbstractPickleTests.test_recursive_list, |
| self) |
| |
| def test_recursive_inst(self): |
| self.assertRaises(ValueError, |
| AbstractPickleTests.test_recursive_inst, |
| self) |
| |
| def test_recursive_dict(self): |
| self.assertRaises(ValueError, |
| AbstractPickleTests.test_recursive_dict, |
| self) |
| |
| def test_recursive_multi(self): |
| self.assertRaises(ValueError, |
| AbstractPickleTests.test_recursive_multi, |
| self) |
| |
| if __name__ == "__main__": |
| run_unittest(cPickleTests) |
| run_unittest(cPicklePicklerTests) |
| run_unittest(cPickleListPicklerTests) |
| run_unittest(cPickleFastPicklerTests) |