Fix logic error in Python/_warnings.c and add a test to verify
diff --git a/Lib/test/test_warnings.py b/Lib/test/test_warnings.py
index 1b5ee32..70d8c56 100644
--- a/Lib/test/test_warnings.py
+++ b/Lib/test/test_warnings.py
@@ -388,6 +388,15 @@
result = stream.getvalue()
self.failUnless(text in result)
+ def test_showwarning_not_callable(self):
+ self.module.filterwarnings("always", category=UserWarning)
+ old_showwarning = self.module.showwarning
+ self.module.showwarning = 23
+ try:
+ self.assertRaises(TypeError, self.module.warn, "Warning!")
+ finally:
+ self.module.showwarning = old_showwarning
+
def test_show_warning_output(self):
# With showarning() missing, make sure that output is okay.
text = 'test show_warning'