mirror of https://github.com/python/cpython
47 lines
1.1 KiB
Python
47 lines
1.1 KiB
Python
|
# test_pickle dumps and loads pickles via pickle.py.
|
||
|
# test_cpickle does the same, but via the cPickle module.
|
||
|
# This test covers the other two cases, making pickles with one module and
|
||
|
# loading them via the other.
|
||
|
|
||
|
import pickle
|
||
|
import cPickle
|
||
|
import unittest
|
||
|
|
||
|
from test import test_support
|
||
|
from test.pickletester import AbstractPickleTests
|
||
|
|
||
|
class DumpCPickle_LoadPickle(AbstractPickleTests):
|
||
|
|
||
|
error = KeyError
|
||
|
|
||
|
def dumps(self, arg, proto=0, fast=0):
|
||
|
# Ignore fast
|
||
|
return cPickle.dumps(arg, proto)
|
||
|
|
||
|
def loads(self, buf):
|
||
|
# Ignore fast
|
||
|
return pickle.loads(buf)
|
||
|
|
||
|
class DumpPickle_LoadCPickle(AbstractPickleTests):
|
||
|
|
||
|
error = cPickle.BadPickleGet
|
||
|
|
||
|
def dumps(self, arg, proto=0, fast=0):
|
||
|
# Ignore fast
|
||
|
return pickle.dumps(arg, proto)
|
||
|
|
||
|
def loads(self, buf):
|
||
|
# Ignore fast
|
||
|
return cPickle.loads(buf)
|
||
|
|
||
|
def test_main():
|
||
|
suite = unittest.TestSuite()
|
||
|
for test in (DumpCPickle_LoadPickle,
|
||
|
DumpPickle_LoadCPickle,
|
||
|
):
|
||
|
suite.addTest(unittest.makeSuite(test))
|
||
|
test_support.run_suite(suite)
|
||
|
|
||
|
if __name__ == "__main__":
|
||
|
test_main()
|