From 7eebeb8fb84e2a9cb73903a08c59cf1d3b32cee0 Mon Sep 17 00:00:00 2001 From: Victor Stinner Date: Fri, 30 Jun 2017 12:58:46 +0200 Subject: bpo-30812: Fix test_warnings, restore _showwarnmsg (#2504) bpo-26568, bpo-30812: Fix test_showwarnmsg_missing(): restore the attribute after removing it. --- Lib/test/test_warnings/__init__.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/Lib/test/test_warnings/__init__.py b/Lib/test/test_warnings/__init__.py index 8fc5d3c..3481e9c 100644 --- a/Lib/test/test_warnings/__init__.py +++ b/Lib/test/test_warnings/__init__.py @@ -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): -- cgit v0.12