99import warnings
1010import weakref
1111
12+ import doctest
1213import unittest
1314from test import support
1415
3031 has_c_implementation = False
3132
3233
33- class PyPickleTests (AbstractPickleModuleTests ):
34+ class PyPickleTests (AbstractPickleModuleTests , unittest . TestCase ):
3435 dump = staticmethod (pickle ._dump )
3536 dumps = staticmethod (pickle ._dumps )
3637 load = staticmethod (pickle ._load )
@@ -39,7 +40,7 @@ class PyPickleTests(AbstractPickleModuleTests):
3940 Unpickler = pickle ._Unpickler
4041
4142
42- class PyUnpicklerTests (AbstractUnpickleTests ):
43+ class PyUnpicklerTests (AbstractUnpickleTests , unittest . TestCase ):
4344
4445 unpickler = pickle ._Unpickler
4546 bad_stack_errors = (IndexError ,)
@@ -53,7 +54,7 @@ def loads(self, buf, **kwds):
5354 return u .load ()
5455
5556
56- class PyPicklerTests (AbstractPickleTests ):
57+ class PyPicklerTests (AbstractPickleTests , unittest . TestCase ):
5758
5859 pickler = pickle ._Pickler
5960 unpickler = pickle ._Unpickler
@@ -72,7 +73,7 @@ def loads(self, buf, **kwds):
7273
7374
7475class InMemoryPickleTests (AbstractPickleTests , AbstractUnpickleTests ,
75- BigmemPickleTests ):
76+ BigmemPickleTests , unittest . TestCase ):
7677
7778 bad_stack_errors = (pickle .UnpicklingError , IndexError )
7879 truncated_errors = (pickle .UnpicklingError , EOFError ,
@@ -109,14 +110,14 @@ def persistent_load(subself, obj):
109110
110111
111112class PyPersPicklerTests (AbstractPersistentPicklerTests ,
112- PersistentPicklerUnpicklerMixin ):
113+ PersistentPicklerUnpicklerMixin , unittest . TestCase ):
113114
114115 pickler = pickle ._Pickler
115116 unpickler = pickle ._Unpickler
116117
117118
118119class PyIdPersPicklerTests (AbstractIdentityPersistentPicklerTests ,
119- PersistentPicklerUnpicklerMixin ):
120+ PersistentPicklerUnpicklerMixin , unittest . TestCase ):
120121
121122 pickler = pickle ._Pickler
122123 unpickler = pickle ._Unpickler
@@ -182,37 +183,37 @@ def persistent_load(pid):
182183 check (PersUnpickler )
183184
184185
185- class PyPicklerUnpicklerObjectTests (AbstractPicklerUnpicklerObjectTests ):
186+ class PyPicklerUnpicklerObjectTests (AbstractPicklerUnpicklerObjectTests , unittest . TestCase ):
186187
187188 pickler_class = pickle ._Pickler
188189 unpickler_class = pickle ._Unpickler
189190
190191
191- class PyDispatchTableTests (AbstractDispatchTableTests ):
192+ class PyDispatchTableTests (AbstractDispatchTableTests , unittest . TestCase ):
192193
193194 pickler_class = pickle ._Pickler
194195
195196 def get_dispatch_table (self ):
196197 return pickle .dispatch_table .copy ()
197198
198199
199- class PyChainDispatchTableTests (AbstractDispatchTableTests ):
200+ class PyChainDispatchTableTests (AbstractDispatchTableTests , unittest . TestCase ):
200201
201202 pickler_class = pickle ._Pickler
202203
203204 def get_dispatch_table (self ):
204205 return collections .ChainMap ({}, pickle .dispatch_table )
205206
206207
207- class PyPicklerHookTests (AbstractHookTests ):
208+ class PyPicklerHookTests (AbstractHookTests , unittest . TestCase ):
208209 class CustomPyPicklerClass (pickle ._Pickler ,
209210 AbstractCustomPicklerClass ):
210211 pass
211212 pickler_class = CustomPyPicklerClass
212213
213214
214215if has_c_implementation :
215- class CPickleTests (AbstractPickleModuleTests ):
216+ class CPickleTests (AbstractPickleModuleTests , unittest . TestCase ):
216217 from _pickle import dump , dumps , load , loads , Pickler , Unpickler
217218
218219 class CUnpicklerTests (PyUnpicklerTests ):
@@ -240,7 +241,7 @@ class DumpPickle_CLoadPickle(PyPicklerTests):
240241 pickler = pickle ._Pickler
241242 unpickler = _pickle .Unpickler
242243
243- class CPicklerUnpicklerObjectTests (AbstractPicklerUnpicklerObjectTests ):
244+ class CPicklerUnpicklerObjectTests (AbstractPicklerUnpicklerObjectTests , unittest . TestCase ):
244245 pickler_class = _pickle .Pickler
245246 unpickler_class = _pickle .Unpickler
246247
@@ -253,17 +254,17 @@ def test_issue18339(self):
253254 unpickler .memo = {- 1 : None }
254255 unpickler .memo = {1 : None }
255256
256- class CDispatchTableTests (AbstractDispatchTableTests ):
257+ class CDispatchTableTests (AbstractDispatchTableTests , unittest . TestCase ):
257258 pickler_class = pickle .Pickler
258259 def get_dispatch_table (self ):
259260 return pickle .dispatch_table .copy ()
260261
261- class CChainDispatchTableTests (AbstractDispatchTableTests ):
262+ class CChainDispatchTableTests (AbstractDispatchTableTests , unittest . TestCase ):
262263 pickler_class = pickle .Pickler
263264 def get_dispatch_table (self ):
264265 return collections .ChainMap ({}, pickle .dispatch_table )
265266
266- class CPicklerHookTests (AbstractHookTests ):
267+ class CPicklerHookTests (AbstractHookTests , unittest . TestCase ):
267268 class CustomCPicklerClass (_pickle .Pickler , AbstractCustomPicklerClass ):
268269 pass
269270 pickler_class = CustomCPicklerClass
@@ -512,22 +513,10 @@ def test_multiprocessing_exceptions(self):
512513 ('multiprocessing.context' , name ))
513514
514515
515- def test_main ():
516- tests = [PyPickleTests , PyUnpicklerTests , PyPicklerTests ,
517- PyPersPicklerTests , PyIdPersPicklerTests ,
518- PyDispatchTableTests , PyChainDispatchTableTests ,
519- CompatPickleTests , PyPicklerHookTests ]
520- if has_c_implementation :
521- tests .extend ([CPickleTests , CUnpicklerTests , CPicklerTests ,
522- CPersPicklerTests , CIdPersPicklerTests ,
523- CDumpPickle_LoadPickle , DumpPickle_CLoadPickle ,
524- PyPicklerUnpicklerObjectTests ,
525- CPicklerUnpicklerObjectTests ,
526- CDispatchTableTests , CChainDispatchTableTests ,
527- CPicklerHookTests ,
528- InMemoryPickleTests , SizeofTests ])
529- support .run_unittest (* tests )
530- support .run_doctest (pickle )
516+ def load_tests (loader , tests , pattern ):
517+ tests .addTest (doctest .DocTestSuite ())
518+ return tests
519+
531520
532521if __name__ == "__main__" :
533- test_main ()
522+ unittest . main ()
0 commit comments