]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
Test the exception-raising for error cases in copy_reg.
authorFred Drake <fdrake@acm.org>
Wed, 11 Oct 2000 22:17:35 +0000 (22:17 +0000)
committerFred Drake <fdrake@acm.org>
Wed, 11 Oct 2000 22:17:35 +0000 (22:17 +0000)
Lib/test/output/test_copy_reg [new file with mode: 0644]
Lib/test/test_copy_reg.py [new file with mode: 0644]

diff --git a/Lib/test/output/test_copy_reg b/Lib/test/output/test_copy_reg
new file mode 100644 (file)
index 0000000..98518e8
--- /dev/null
@@ -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 (file)
index 0000000..0324d92
--- /dev/null
@@ -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."