]> granicus.if.org Git - python/commitdiff
test_warnings: catch stderr and check warning
authorVictor Stinner <victor.stinner@gmail.com>
Thu, 26 May 2016 13:21:25 +0000 (15:21 +0200)
committerVictor Stinner <victor.stinner@gmail.com>
Thu, 26 May 2016 13:21:25 +0000 (15:21 +0200)
Check the user warning in test_error_after_default() to not pollute the output,
and check the warning logged into stderr.

Lib/test/test_warnings/__init__.py

index 712f9cde3a7aff7fc8759aa3a5d8f006fea73fd7..72fcc73661038c728f03600b6f2de13b6a063aaa 100644 (file)
@@ -104,7 +104,15 @@ class FilterTests(BaseTest):
             message = "FilterTests.test_ignore_after_default"
             def f():
                 self.module.warn(message, UserWarning)
-            f()
+
+            with support.captured_stderr() as stderr:
+                f()
+            stderr = stderr.getvalue()
+            self.assertIn("UserWarning: FilterTests.test_ignore_after_default",
+                          stderr)
+            self.assertIn("self.module.warn(message, UserWarning)",
+                          stderr)
+
             self.module.filterwarnings("error", category=UserWarning)
             self.assertRaises(UserWarning, f)