99import warnings
1010import weakref
1111
12+ import doctest
1213import unittest
1314from test import support
1415from test .support import import_helper
3132 has_c_implementation = False
3233
3334
34- class PyPickleTests (AbstractPickleModuleTests ):
35+ class PyPickleTests (AbstractPickleModuleTests , unittest . TestCase ):
3536 dump = staticmethod (pickle ._dump )
3637 dumps = staticmethod (pickle ._dumps )
3738 load = staticmethod (pickle ._load )
@@ -40,7 +41,7 @@ class PyPickleTests(AbstractPickleModuleTests):
4041 Unpickler = pickle ._Unpickler
4142
4243
43- class PyUnpicklerTests (AbstractUnpickleTests ):
44+ class PyUnpicklerTests (AbstractUnpickleTests , unittest . TestCase ):
4445
4546 unpickler = pickle ._Unpickler
4647 bad_stack_errors = (IndexError ,)
@@ -54,7 +55,7 @@ def loads(self, buf, **kwds):
5455 return u .load ()
5556
5657
57- class PyPicklerTests (AbstractPickleTests ):
58+ class PyPicklerTests (AbstractPickleTests , unittest . TestCase ):
5859
5960 pickler = pickle ._Pickler
6061 unpickler = pickle ._Unpickler
@@ -73,7 +74,7 @@ def loads(self, buf, **kwds):
7374
7475
7576class InMemoryPickleTests (AbstractPickleTests , AbstractUnpickleTests ,
76- BigmemPickleTests ):
77+ BigmemPickleTests , unittest . TestCase ):
7778
7879 bad_stack_errors = (pickle .UnpicklingError , IndexError )
7980 truncated_errors = (pickle .UnpicklingError , EOFError ,
@@ -110,14 +111,14 @@ def persistent_load(subself, obj):
110111
111112
112113class PyPersPicklerTests (AbstractPersistentPicklerTests ,
113- PersistentPicklerUnpicklerMixin ):
114+ PersistentPicklerUnpicklerMixin , unittest . TestCase ):
114115
115116 pickler = pickle ._Pickler
116117 unpickler = pickle ._Unpickler
117118
118119
119120class PyIdPersPicklerTests (AbstractIdentityPersistentPicklerTests ,
120- PersistentPicklerUnpicklerMixin ):
121+ PersistentPicklerUnpicklerMixin , unittest . TestCase ):
121122
122123 pickler = pickle ._Pickler
123124 unpickler = pickle ._Unpickler
@@ -183,37 +184,37 @@ def persistent_load(pid):
183184 check (PersUnpickler )
184185
185186
186- class PyPicklerUnpicklerObjectTests (AbstractPicklerUnpicklerObjectTests ):
187+ class PyPicklerUnpicklerObjectTests (AbstractPicklerUnpicklerObjectTests , unittest . TestCase ):
187188
188189 pickler_class = pickle ._Pickler
189190 unpickler_class = pickle ._Unpickler
190191
191192
192- class PyDispatchTableTests (AbstractDispatchTableTests ):
193+ class PyDispatchTableTests (AbstractDispatchTableTests , unittest . TestCase ):
193194
194195 pickler_class = pickle ._Pickler
195196
196197 def get_dispatch_table (self ):
197198 return pickle .dispatch_table .copy ()
198199
199200
200- class PyChainDispatchTableTests (AbstractDispatchTableTests ):
201+ class PyChainDispatchTableTests (AbstractDispatchTableTests , unittest . TestCase ):
201202
202203 pickler_class = pickle ._Pickler
203204
204205 def get_dispatch_table (self ):
205206 return collections .ChainMap ({}, pickle .dispatch_table )
206207
207208
208- class PyPicklerHookTests (AbstractHookTests ):
209+ class PyPicklerHookTests (AbstractHookTests , unittest . TestCase ):
209210 class CustomPyPicklerClass (pickle ._Pickler ,
210211 AbstractCustomPicklerClass ):
211212 pass
212213 pickler_class = CustomPyPicklerClass
213214
214215
215216if has_c_implementation :
216- class CPickleTests (AbstractPickleModuleTests ):
217+ class CPickleTests (AbstractPickleModuleTests , unittest . TestCase ):
217218 from _pickle import dump , dumps , load , loads , Pickler , Unpickler
218219
219220 class CUnpicklerTests (PyUnpicklerTests ):
@@ -241,7 +242,7 @@ class DumpPickle_CLoadPickle(PyPicklerTests):
241242 pickler = pickle ._Pickler
242243 unpickler = _pickle .Unpickler
243244
244- class CPicklerUnpicklerObjectTests (AbstractPicklerUnpicklerObjectTests ):
245+ class CPicklerUnpicklerObjectTests (AbstractPicklerUnpicklerObjectTests , unittest . TestCase ):
245246 pickler_class = _pickle .Pickler
246247 unpickler_class = _pickle .Unpickler
247248
@@ -254,17 +255,17 @@ def test_issue18339(self):
254255 unpickler .memo = {- 1 : None }
255256 unpickler .memo = {1 : None }
256257
257- class CDispatchTableTests (AbstractDispatchTableTests ):
258+ class CDispatchTableTests (AbstractDispatchTableTests , unittest . TestCase ):
258259 pickler_class = pickle .Pickler
259260 def get_dispatch_table (self ):
260261 return pickle .dispatch_table .copy ()
261262
262- class CChainDispatchTableTests (AbstractDispatchTableTests ):
263+ class CChainDispatchTableTests (AbstractDispatchTableTests , unittest . TestCase ):
263264 pickler_class = pickle .Pickler
264265 def get_dispatch_table (self ):
265266 return collections .ChainMap ({}, pickle .dispatch_table )
266267
267- class CPicklerHookTests (AbstractHookTests ):
268+ class CPicklerHookTests (AbstractHookTests , unittest . TestCase ):
268269 class CustomCPicklerClass (_pickle .Pickler , AbstractCustomPicklerClass ):
269270 pass
270271 pickler_class = CustomCPicklerClass
@@ -514,22 +515,10 @@ def test_multiprocessing_exceptions(self):
514515 ('multiprocessing.context' , name ))
515516
516517
517- def test_main ():
518- tests = [PyPickleTests , PyUnpicklerTests , PyPicklerTests ,
519- PyPersPicklerTests , PyIdPersPicklerTests ,
520- PyDispatchTableTests , PyChainDispatchTableTests ,
521- CompatPickleTests , PyPicklerHookTests ]
522- if has_c_implementation :
523- tests .extend ([CPickleTests , CUnpicklerTests , CPicklerTests ,
524- CPersPicklerTests , CIdPersPicklerTests ,
525- CDumpPickle_LoadPickle , DumpPickle_CLoadPickle ,
526- PyPicklerUnpicklerObjectTests ,
527- CPicklerUnpicklerObjectTests ,
528- CDispatchTableTests , CChainDispatchTableTests ,
529- CPicklerHookTests ,
530- InMemoryPickleTests , SizeofTests ])
531- support .run_unittest (* tests )
532- support .run_doctest (pickle )
518+ def load_tests (loader , tests , pattern ):
519+ tests .addTest (doctest .DocTestSuite ())
520+ return tests
521+
533522
534523if __name__ == "__main__" :
535- test_main ()
524+ unittest . main ()
0 commit comments