]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
Simplify testing the warning filename (GH-91868)
authorSerhiy Storchaka <storchaka@gmail.com>
Sun, 24 Apr 2022 07:23:59 +0000 (10:23 +0300)
committerGitHub <noreply@github.com>
Sun, 24 Apr 2022 07:23:59 +0000 (10:23 +0300)
The context manager result has the "filename" attribute.

Lib/test/test_asyncio/test_events.py
Lib/test/test_asyncio/test_futures.py
Lib/test/test_asyncio/test_streams.py
Lib/test/test_asyncio/test_tasks.py
Lib/test/test_re.py
Lib/unittest/test/test_async_case.py
Lib/unittest/test/test_case.py
Lib/unittest/test/test_loader.py

index a30867e28029f664d0ae44a369f72b3717f468f7..05d9107b28e2aedab5921f47c9fbb76f2874c718 100644 (file)
@@ -2712,12 +2712,12 @@ class GetEventLoopTestsMixin:
             with self.assertWarns(DeprecationWarning) as cm:
                 with self.assertRaises(TestError):
                     asyncio.get_event_loop()
-            self.assertEqual(cm.warnings[0].filename, __file__)
+            self.assertEqual(cm.filename, __file__)
             asyncio.set_event_loop(None)
             with self.assertWarns(DeprecationWarning) as cm:
                 with self.assertRaises(TestError):
                     asyncio.get_event_loop()
-            self.assertEqual(cm.warnings[0].filename, __file__)
+            self.assertEqual(cm.filename, __file__)
 
             with self.assertRaisesRegex(RuntimeError, 'no running'):
                 asyncio.get_running_loop()
@@ -2734,13 +2734,13 @@ class GetEventLoopTestsMixin:
             with self.assertWarns(DeprecationWarning) as cm:
                 with self.assertRaises(TestError):
                     asyncio.get_event_loop()
-            self.assertEqual(cm.warnings[0].filename, __file__)
+            self.assertEqual(cm.filename, __file__)
 
             asyncio.set_event_loop(None)
             with self.assertWarns(DeprecationWarning) as cm:
                 with self.assertRaises(TestError):
                     asyncio.get_event_loop()
-            self.assertEqual(cm.warnings[0].filename, __file__)
+            self.assertEqual(cm.filename, __file__)
 
         finally:
             asyncio.set_event_loop_policy(old_policy)
@@ -2762,12 +2762,12 @@ class GetEventLoopTestsMixin:
             with self.assertWarns(DeprecationWarning) as cm:
                 loop2 = asyncio.get_event_loop()
             self.addCleanup(loop2.close)
-            self.assertEqual(cm.warnings[0].filename, __file__)
+            self.assertEqual(cm.filename, __file__)
             asyncio.set_event_loop(None)
             with self.assertWarns(DeprecationWarning) as cm:
                 with self.assertRaisesRegex(RuntimeError, 'no current'):
                     asyncio.get_event_loop()
-            self.assertEqual(cm.warnings[0].filename, __file__)
+            self.assertEqual(cm.filename, __file__)
 
             with self.assertRaisesRegex(RuntimeError, 'no running'):
                 asyncio.get_running_loop()
@@ -2783,13 +2783,13 @@ class GetEventLoopTestsMixin:
             asyncio.set_event_loop(loop)
             with self.assertWarns(DeprecationWarning) as cm:
                 self.assertIs(asyncio.get_event_loop(), loop)
-            self.assertEqual(cm.warnings[0].filename, __file__)
+            self.assertEqual(cm.filename, __file__)
 
             asyncio.set_event_loop(None)
             with self.assertWarns(DeprecationWarning) as cm:
                 with self.assertRaisesRegex(RuntimeError, 'no current'):
                     asyncio.get_event_loop()
-            self.assertEqual(cm.warnings[0].filename, __file__)
+            self.assertEqual(cm.filename, __file__)
 
         finally:
             asyncio.set_event_loop_policy(old_policy)
index cf677f6a9511554d57c8c1db1c0276fad030609e..f4a46ec90a16fe7e30be27ce203a32cd32c3d93e 100644 (file)
@@ -148,7 +148,7 @@ class BaseFutureTests:
         with self.assertWarns(DeprecationWarning) as cm:
             with self.assertRaisesRegex(RuntimeError, 'There is no current event loop'):
                 self._new_future()
-        self.assertEqual(cm.warnings[0].filename, __file__)
+        self.assertEqual(cm.filename, __file__)
 
     def test_constructor_use_running_loop(self):
         async def test():
@@ -163,7 +163,7 @@ class BaseFutureTests:
         self.addCleanup(asyncio.set_event_loop, None)
         with self.assertWarns(DeprecationWarning) as cm:
             f = self._new_future()
-        self.assertEqual(cm.warnings[0].filename, __file__)
+        self.assertEqual(cm.filename, __file__)
         self.assertIs(f._loop, self.loop)
         self.assertIs(f.get_loop(), self.loop)
 
@@ -510,7 +510,7 @@ class BaseFutureTests:
         with self.assertWarns(DeprecationWarning) as cm:
             with self.assertRaises(RuntimeError):
                 asyncio.wrap_future(f1)
-        self.assertEqual(cm.warnings[0].filename, __file__)
+        self.assertEqual(cm.filename, __file__)
         ex.shutdown(wait=True)
 
     def test_wrap_future_use_running_loop(self):
@@ -534,7 +534,7 @@ class BaseFutureTests:
         f1 = ex.submit(run, 'oi')
         with self.assertWarns(DeprecationWarning) as cm:
             f2 = asyncio.wrap_future(f1)
-        self.assertEqual(cm.warnings[0].filename, __file__)
+        self.assertEqual(cm.filename, __file__)
         self.assertIs(self.loop, f2._loop)
         ex.shutdown(wait=True)
 
index a7d17894e1c5265f091a083eefcbf5782ec27550..098a0da344d0fb0adb92710d27ff80b8f640d965 100644 (file)
@@ -813,7 +813,7 @@ os.close(fd)
         with self.assertWarns(DeprecationWarning) as cm:
             with self.assertRaisesRegex(RuntimeError, 'There is no current event loop'):
                 asyncio.StreamReader()
-        self.assertEqual(cm.warnings[0].filename, __file__)
+        self.assertEqual(cm.filename, __file__)
 
     def test_streamreader_constructor_use_running_loop(self):
         # asyncio issue #184: Ensure that StreamReaderProtocol constructor
@@ -832,7 +832,7 @@ os.close(fd)
         asyncio.set_event_loop(self.loop)
         with self.assertWarns(DeprecationWarning) as cm:
             reader = asyncio.StreamReader()
-        self.assertEqual(cm.warnings[0].filename, __file__)
+        self.assertEqual(cm.filename, __file__)
         self.assertIs(reader._loop, self.loop)
 
 
@@ -841,7 +841,7 @@ os.close(fd)
         with self.assertWarns(DeprecationWarning) as cm:
             with self.assertRaisesRegex(RuntimeError, 'There is no current event loop'):
                 asyncio.StreamReaderProtocol(reader)
-        self.assertEqual(cm.warnings[0].filename, __file__)
+        self.assertEqual(cm.filename, __file__)
 
     def test_streamreaderprotocol_constructor_use_running_loop(self):
         # asyncio issue #184: Ensure that StreamReaderProtocol constructor
@@ -861,7 +861,7 @@ os.close(fd)
         reader = mock.Mock()
         with self.assertWarns(DeprecationWarning) as cm:
             protocol = asyncio.StreamReaderProtocol(reader)
-        self.assertEqual(cm.warnings[0].filename, __file__)
+        self.assertEqual(cm.filename, __file__)
         self.assertIs(protocol._loop, self.loop)
 
     def test_drain_raises(self):
index 80afb27351362017cb464c8e96f2faa05dc30f19..6458859db2d1278ed49714282c9b9aab2160052e 100644 (file)
@@ -211,7 +211,7 @@ class BaseTaskTests:
         with self.assertWarns(DeprecationWarning) as cm:
             with self.assertRaisesRegex(RuntimeError, 'There is no current event loop'):
                 asyncio.ensure_future(a)
-        self.assertEqual(cm.warnings[0].filename, __file__)
+        self.assertEqual(cm.filename, __file__)
 
         async def test():
             return asyncio.ensure_future(notmuch())
@@ -226,7 +226,7 @@ class BaseTaskTests:
         self.addCleanup(asyncio.set_event_loop, None)
         with self.assertWarns(DeprecationWarning) as cm:
             t = asyncio.ensure_future(notmuch())
-        self.assertEqual(cm.warnings[0].filename, __file__)
+        self.assertEqual(cm.filename, __file__)
         self.assertIs(t._loop, self.loop)
         self.loop.run_until_complete(t)
         self.assertTrue(t.done())
@@ -1449,7 +1449,7 @@ class BaseTaskTests:
         with self.assertWarns(DeprecationWarning) as cm:
             with self.assertRaisesRegex(RuntimeError, 'There is no current event loop'):
                 list(futs)
-        self.assertEqual(cm.warnings[0].filename, __file__)
+        self.assertEqual(cm.filename, __file__)
 
     def test_as_completed_coroutine_use_running_loop(self):
         loop = self.new_test_loop()
@@ -1881,7 +1881,7 @@ class BaseTaskTests:
         with self.assertWarns(DeprecationWarning) as cm:
             with self.assertRaisesRegex(RuntimeError, 'There is no current event loop'):
                 asyncio.shield(inner)
-        self.assertEqual(cm.warnings[0].filename, __file__)
+        self.assertEqual(cm.filename, __file__)
 
     def test_shield_coroutine_use_running_loop(self):
         async def coro():
@@ -1903,7 +1903,7 @@ class BaseTaskTests:
         self.addCleanup(asyncio.set_event_loop, None)
         with self.assertWarns(DeprecationWarning) as cm:
             outer = asyncio.shield(coro())
-        self.assertEqual(cm.warnings[0].filename, __file__)
+        self.assertEqual(cm.filename, __file__)
         self.assertEqual(outer._loop, self.loop)
         res = self.loop.run_until_complete(outer)
         self.assertEqual(res, 42)
@@ -2911,7 +2911,7 @@ class FutureGatherTests(GatherTestsBase, test_utils.TestCase):
         with self.assertWarns(DeprecationWarning) as cm:
             with self.assertRaises(RuntimeError):
                 asyncio.gather()
-        self.assertEqual(cm.warnings[0].filename, __file__)
+        self.assertEqual(cm.filename, __file__)
 
     def test_constructor_empty_sequence_use_running_loop(self):
         async def gather():
@@ -2929,7 +2929,7 @@ class FutureGatherTests(GatherTestsBase, test_utils.TestCase):
         self.addCleanup(asyncio.set_event_loop, None)
         with self.assertWarns(DeprecationWarning) as cm:
             fut = asyncio.gather()
-        self.assertEqual(cm.warnings[0].filename, __file__)
+        self.assertEqual(cm.filename, __file__)
         self.assertIsInstance(fut, asyncio.Future)
         self.assertIs(fut._loop, self.one_loop)
         self._run_loop(self.one_loop)
@@ -3020,7 +3020,7 @@ class CoroutineGatherTests(GatherTestsBase, test_utils.TestCase):
         with self.assertWarns(DeprecationWarning) as cm:
             with self.assertRaises(RuntimeError):
                 asyncio.gather(gen1, gen2)
-        self.assertEqual(cm.warnings[0].filename, __file__)
+        self.assertEqual(cm.filename, __file__)
 
     def test_constructor_use_running_loop(self):
         async def coro():
@@ -3043,7 +3043,7 @@ class CoroutineGatherTests(GatherTestsBase, test_utils.TestCase):
         gen2 = coro()
         with self.assertWarns(DeprecationWarning) as cm:
             fut = asyncio.gather(gen1, gen2)
-        self.assertEqual(cm.warnings[0].filename, __file__)
+        self.assertEqual(cm.filename, __file__)
         self.assertIs(fut._loop, self.other_loop)
         self.other_loop.run_until_complete(fut)
 
index 91971d8126c98add364da7cafd9c4c4e918dae2b..a4c2f1f3e4ba3c9531e51ab0b2a2c618bd880c41 100644 (file)
@@ -2608,11 +2608,11 @@ class ImplementationTest(unittest.TestCase):
         for name in deprecated:
             with self.subTest(module=name):
                 sys.modules.pop(name, None)
-                with self.assertWarns(DeprecationWarning) as cm:
+                with self.assertWarns(DeprecationWarning) as w:
                     __import__(name)
-                self.assertEqual(str(cm.warnings[0].message),
+                self.assertEqual(str(w.warning),
                                  f"module {name!r} is deprecated")
-                self.assertEqual(cm.warnings[0].filename, __file__)
+                self.assertEqual(w.filename, __file__)
                 self.assertIn(name, sys.modules)
                 mod = sys.modules[name]
                 self.assertEqual(mod.__name__, name)
index a48140829cc219d5fea329b7d0e2f6fba0599ba9..1b910a44eea0d8885ea3f3a655ba096d9b159a5b 100644 (file)
@@ -259,15 +259,15 @@ class TestAsyncCase(unittest.TestCase):
 
         with self.assertWarns(DeprecationWarning) as w:
             Test('test1').run()
-        self.assertIn('It is deprecated to return a value!=None', str(w.warnings[0].message))
-        self.assertIn('test1', str(w.warnings[0].message))
-        self.assertEqual(w.warnings[0].filename, __file__)
+        self.assertIn('It is deprecated to return a value!=None', str(w.warning))
+        self.assertIn('test1', str(w.warning))
+        self.assertEqual(w.filename, __file__)
 
         with self.assertWarns(DeprecationWarning) as w:
             Test('test2').run()
-        self.assertIn('It is deprecated to return a value!=None', str(w.warnings[0].message))
-        self.assertIn('test2', str(w.warnings[0].message))
-        self.assertEqual(w.warnings[0].filename, __file__)
+        self.assertIn('It is deprecated to return a value!=None', str(w.warning))
+        self.assertIn('test2', str(w.warning))
+        self.assertEqual(w.filename, __file__)
 
     def test_cleanups_interleave_order(self):
         events = []
index f6cb9977d06d438fde4b606ae85f09261fccfabd..374a255255566f3d4dd9ae1c1d9d0a4a42813489 100644 (file)
@@ -316,15 +316,15 @@ class Test_TestCase(unittest.TestCase, TestEquality, TestHashing):
 
         with self.assertWarns(DeprecationWarning) as w:
             Foo('test1').run()
-        self.assertIn('It is deprecated to return a value!=None', str(w.warnings[0].message))
-        self.assertIn('test1', str(w.warnings[0].message))
-        self.assertEqual(w.warnings[0].filename, __file__)
+        self.assertIn('It is deprecated to return a value!=None', str(w.warning))
+        self.assertIn('test1', str(w.warning))
+        self.assertEqual(w.filename, __file__)
 
         with self.assertWarns(DeprecationWarning) as w:
             Foo('test2').run()
-        self.assertIn('It is deprecated to return a value!=None', str(w.warnings[0].message))
-        self.assertIn('test2', str(w.warnings[0].message))
-        self.assertEqual(w.warnings[0].filename, __file__)
+        self.assertIn('It is deprecated to return a value!=None', str(w.warning))
+        self.assertIn('test2', str(w.warning))
+        self.assertEqual(w.filename, __file__)
 
     def _check_call_order__subtests(self, result, events, expected_events):
         class Foo(Test.LoggingTestCase):
index 90e208182719b2ed3c21a3f7783ab4a4633bc17f..de2268cda906882377602d23e121f90714b3649a 100644 (file)
@@ -1609,7 +1609,7 @@ class TestObsoleteFunctions(unittest.TestCase):
             tests = unittest.getTestCaseNames(self.MyTestCase,
                 prefix='check', sortUsing=self.reverse_three_way_cmp,
                 testNamePatterns=None)
-        self.assertEqual(w.warnings[0].filename, __file__)
+        self.assertEqual(w.filename, __file__)
         self.assertEqual(tests, ['check_2', 'check_1'])
 
     def test_makeSuite(self):
@@ -1617,7 +1617,7 @@ class TestObsoleteFunctions(unittest.TestCase):
             suite = unittest.makeSuite(self.MyTestCase,
                     prefix='check', sortUsing=self.reverse_three_way_cmp,
                     suiteClass=self.MyTestSuite)
-        self.assertEqual(w.warnings[0].filename, __file__)
+        self.assertEqual(w.filename, __file__)
         self.assertIsInstance(suite, self.MyTestSuite)
         expected = self.MyTestSuite([self.MyTestCase('check_2'),
                                      self.MyTestCase('check_1')])
@@ -1631,7 +1631,7 @@ class TestObsoleteFunctions(unittest.TestCase):
             suite = unittest.findTestCases(m,
                 prefix='check', sortUsing=self.reverse_three_way_cmp,
                 suiteClass=self.MyTestSuite)
-        self.assertEqual(w.warnings[0].filename, __file__)
+        self.assertEqual(w.filename, __file__)
         self.assertIsInstance(suite, self.MyTestSuite)
         expected = [self.MyTestSuite([self.MyTestCase('check_2'),
                                       self.MyTestCase('check_1')])]