mirror of
https://github.com/python/cpython.git
synced 2025-08-09 19:38:42 +00:00
[3.12] gh-122311: Add more tests for pickle (GH-122376) (GH-122378)
(cherry picked from commit bc93923a2d
)
This commit is contained in:
parent
ccb4e3ba7e
commit
ecc97cb432
2 changed files with 682 additions and 117 deletions
|
@ -16,6 +16,7 @@ from test.support import import_helper
|
|||
|
||||
from test.pickletester import AbstractHookTests
|
||||
from test.pickletester import AbstractUnpickleTests
|
||||
from test.pickletester import AbstractPicklingErrorTests
|
||||
from test.pickletester import AbstractPickleTests
|
||||
from test.pickletester import AbstractPickleModuleTests
|
||||
from test.pickletester import AbstractPersistentPicklerTests
|
||||
|
@ -55,6 +56,18 @@ class PyUnpicklerTests(AbstractUnpickleTests, unittest.TestCase):
|
|||
return u.load()
|
||||
|
||||
|
||||
class PyPicklingErrorTests(AbstractPicklingErrorTests, unittest.TestCase):
|
||||
|
||||
pickler = pickle._Pickler
|
||||
|
||||
def dumps(self, arg, proto=None, **kwargs):
|
||||
f = io.BytesIO()
|
||||
p = self.pickler(f, proto, **kwargs)
|
||||
p.dump(arg)
|
||||
f.seek(0)
|
||||
return bytes(f.read())
|
||||
|
||||
|
||||
class PyPicklerTests(AbstractPickleTests, unittest.TestCase):
|
||||
|
||||
pickler = pickle._Pickler
|
||||
|
@ -88,6 +101,8 @@ class InMemoryPickleTests(AbstractPickleTests, AbstractUnpickleTests,
|
|||
return pickle.loads(buf, **kwds)
|
||||
|
||||
test_framed_write_sizes_with_delayed_writer = None
|
||||
test_find_class = None
|
||||
test_custom_find_class = None
|
||||
|
||||
|
||||
class PersistentPicklerUnpicklerMixin(object):
|
||||
|
@ -245,6 +260,9 @@ if has_c_implementation:
|
|||
bad_stack_errors = (pickle.UnpicklingError,)
|
||||
truncated_errors = (pickle.UnpicklingError,)
|
||||
|
||||
class CPicklingErrorTests(PyPicklingErrorTests):
|
||||
pickler = _pickle.Pickler
|
||||
|
||||
class CPicklerTests(PyPicklerTests):
|
||||
pickler = _pickle.Pickler
|
||||
unpickler = _pickle.Unpickler
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue