summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFred Drake <fdrake@acm.org>2000-10-11 22:17:35 (GMT)
committerFred Drake <fdrake@acm.org>2000-10-11 22:17:35 (GMT)
commitcb953d72d219155eb1e9b89787c30ca7e177f069 (patch)
tree59e842a2798fe7ef2ad836758b36e800e2caf146
parent78a6a369641d53c4085eb167af0d1cef65c129fe (diff)
downloadcpython-cb953d72d219155eb1e9b89787c30ca7e177f069.zip
cpython-cb953d72d219155eb1e9b89787c30ca7e177f069.tar.gz
cpython-cb953d72d219155eb1e9b89787c30ca7e177f069.tar.bz2
Test the exception-raising for error cases in copy_reg.
-rw-r--r--Lib/test/output/test_copy_reg9
-rw-r--r--Lib/test/test_copy_reg.py35
2 files changed, 44 insertions, 0 deletions
diff --git a/Lib/test/output/test_copy_reg b/Lib/test/output/test_copy_reg
new file mode 100644
index 0000000..98518e8
--- /dev/null
+++ b/Lib/test/output/test_copy_reg
@@ -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
diff --git a/Lib/test/test_copy_reg.py b/Lib/test/test_copy_reg.py
new file mode 100644
index 0000000..0324d92
--- /dev/null
+++ b/Lib/test/test_copy_reg.py
@@ -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."