mirror of
https://github.com/python/cpython.git
synced 2025-08-04 08:59:19 +00:00
Remove inst_persistent_id() WANNI (we ain't never needed it).
Add some simple tests of the persistence hooks.
This commit is contained in:
parent
0e1183ddff
commit
5e0f4e73a9
2 changed files with 29 additions and 16 deletions
|
@ -1,7 +1,8 @@
|
|||
import pickle
|
||||
import unittest
|
||||
from cStringIO import StringIO
|
||||
from test.pickletester import AbstractPickleTests, AbstractPickleModuleTests
|
||||
from test.pickletester import AbstractPickleTests, AbstractPickleModuleTests, \
|
||||
AbstractPersistentPicklerTests
|
||||
from test import test_support
|
||||
|
||||
class PickleTests(AbstractPickleTests, AbstractPickleModuleTests):
|
||||
|
@ -29,11 +30,32 @@ class PicklerTests(AbstractPickleTests):
|
|||
u = pickle.Unpickler(f)
|
||||
return u.load()
|
||||
|
||||
class PersPicklerTests(AbstractPersistentPicklerTests):
|
||||
|
||||
def dumps(self, arg, bin=0):
|
||||
class PersPickler(pickle.Pickler):
|
||||
def persistent_id(subself, obj):
|
||||
return self.persistent_id(obj)
|
||||
f = StringIO()
|
||||
p = PersPickler(f, bin)
|
||||
p.dump(arg)
|
||||
f.seek(0)
|
||||
return f.read()
|
||||
|
||||
def loads(self, buf):
|
||||
class PersUnpickler(pickle.Unpickler):
|
||||
def persistent_load(subself, obj):
|
||||
return self.persistent_load(obj)
|
||||
f = StringIO(buf)
|
||||
u = PersUnpickler(f)
|
||||
return u.load()
|
||||
|
||||
def test_main():
|
||||
loader = unittest.TestLoader()
|
||||
suite = unittest.TestSuite()
|
||||
suite.addTest(loader.loadTestsFromTestCase(PickleTests))
|
||||
suite.addTest(loader.loadTestsFromTestCase(PicklerTests))
|
||||
suite.addTest(loader.loadTestsFromTestCase(PersPicklerTests))
|
||||
test_support.run_suite(suite)
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue