summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_raise.py
diff options
context:
space:
mode:
authorBenjamin Peterson <benjamin@python.org>2011-07-15 19:09:26 (GMT)
committerBenjamin Peterson <benjamin@python.org>2011-07-15 19:09:26 (GMT)
commit5afa03a72ee6d27e742dc0ebc06a0630e1b37fe9 (patch)
tree681215dcb1cb49babcf4677d582591bb37b22c7c /Lib/test/test_raise.py
parent1f0ccfa853dcc68d3c2d5b92d22fa0c8e1321b63 (diff)
downloadcpython-5afa03a72ee6d27e742dc0ebc06a0630e1b37fe9.zip
cpython-5afa03a72ee6d27e742dc0ebc06a0630e1b37fe9.tar.gz
cpython-5afa03a72ee6d27e742dc0ebc06a0630e1b37fe9.tar.bz2
catch nasty exception classes with __new__ that doesn't return a exception (closes #11627)
Patch from Andreas Stührk.
Diffstat (limited to 'Lib/test/test_raise.py')
-rw-r--r--Lib/test/test_raise.py9
1 files changed, 9 insertions, 0 deletions
diff --git a/Lib/test/test_raise.py b/Lib/test/test_raise.py
index d120dc1..e02c1af 100644
--- a/Lib/test/test_raise.py
+++ b/Lib/test/test_raise.py
@@ -121,6 +121,15 @@ class TestRaise(unittest.TestCase):
else:
self.fail("No exception raised")
+ def test_new_returns_invalid_instance(self):
+ # See issue #11627.
+ class MyException(Exception):
+ def __new__(cls, *args):
+ return object()
+
+ with self.assertRaises(TypeError):
+ raise MyException
+
class TestCause(unittest.TestCase):
def test_invalid_cause(self):