port 8d05f697acd4 (#11627)
diff --git a/Lib/test/test_exceptions.py b/Lib/test/test_exceptions.py
index a19c82d..5526fb7 100644
--- a/Lib/test/test_exceptions.py
+++ b/Lib/test/test_exceptions.py
@@ -464,6 +464,14 @@
self.assertTrue(e is RuntimeError, e)
self.assertIn("maximum recursion depth exceeded", str(v))
+ 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
# Helper class used by TestSameStrAndUnicodeMsg