]> granicus.if.org Git - python/commitdiff
bpo-30812: Fix test_warnings, restore _showwarnmsg (#2504) (#2507)
authorVictor Stinner <victor.stinner@gmail.com>
Fri, 30 Jun 2017 11:12:12 +0000 (13:12 +0200)
committerGitHub <noreply@github.com>
Fri, 30 Jun 2017 11:12:12 +0000 (13:12 +0200)
bpo-26568, bpo-30812: Fix test_showwarnmsg_missing(): restore the
attribute after removing it.
(cherry picked from commit 7eebeb8fb84e2a9cb73903a08c59cf1d3b32cee0)

Lib/test/test_warnings/__init__.py

index 0cddf4a2f4b10a50a0a0e21636faaee2251a9223..755ee65438cadd2d473163b0f4a0e8a1fd95d3d6 100644 (file)
@@ -727,10 +727,15 @@ class _WarningsTests(BaseTest, unittest.TestCase):
         text = 'del _showwarnmsg test'
         with original_warnings.catch_warnings(module=self.module):
             self.module.filterwarnings("always", category=UserWarning)
-            del self.module._showwarnmsg
-            with support.captured_output('stderr') as stream:
-                self.module.warn(text)
-                result = stream.getvalue()
+
+            show = self.module._showwarnmsg
+            try:
+                del self.module._showwarnmsg
+                with support.captured_output('stderr') as stream:
+                    self.module.warn(text)
+                    result = stream.getvalue()
+            finally:
+                self.module._showwarnmsg = show
         self.assertIn(text, result)
 
     def test_showwarning_not_callable(self):