Test the exception-raising for error cases in copy_reg.

This commit is contained in:
Fred Drake 2000-10-11 22:17:35 +00:00
parent 78a6a36964
commit cb953d72d2
2 changed files with 44 additions and 0 deletions

View File

@ -0,0 +1,9 @@
test_copy_reg
Caught expected TypeError:
copy_reg is not intended for use with classes
Caught expected TypeError:
reduction functions must be callable
Caught expected TypeError:
constructors must be callable

35
Lib/test/test_copy_reg.py Normal file
View File

@ -0,0 +1,35 @@
import copy_reg
class C:
pass
try:
copy_reg.pickle(C, None, None)
except TypeError, e:
print "Caught expected TypeError:"
print e
else:
print "Failed to catch expected TypeError when registering a class type."
print
try:
copy_reg.pickle(type(1), "not a callable")
except TypeError, e:
print "Caught expected TypeError:"
print e
else:
print "Failed to catch TypeError " \
"when registering a non-callable reduction function."
print
try:
copy_reg.pickle(type(1), int, "not a callable")
except TypeError, e:
print "Caught expected TypeError:"
print e
else:
print "Failed to catch TypeError " \
"when registering a non-callable constructor."