From b1db308c6114bb18c06656c94c0ffa73ba954977 Mon Sep 17 00:00:00 2001 From: andrei kulakov Date: Sun, 22 Aug 2021 14:32:45 -0400 Subject: bpo-41322: Add unit tests for deprecation of test return values (GH-27846) Also fix the traceback of warnings. --- Lib/unittest/test/test_case.py | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'Lib/unittest/test/test_case.py') diff --git a/Lib/unittest/test/test_case.py b/Lib/unittest/test/test_case.py index b8aca92a8e..f3cabe44d1 100644 --- a/Lib/unittest/test/test_case.py +++ b/Lib/unittest/test/test_case.py @@ -306,6 +306,26 @@ class Test_TestCase(unittest.TestCase, TestEquality, TestHashing): Foo('test').run() + def test_deprecation_of_return_val_from_test(self): + # Issue 41322 - deprecate return of value!=None from a test + class Foo(unittest.TestCase): + def test1(self): + return 1 + def test2(self): + yield 1 + + 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__) + + 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__) + def _check_call_order__subtests(self, result, events, expected_events): class Foo(Test.LoggingTestCase): def test(self): -- cgit v1.2.1