From: Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> Date: Fri, 12 Oct 2018 11:07:01 +0000 (-0700) Subject: bpo-34900: Make TestCase.debug() work with subtests (GH-9707) X-Git-Tag: v3.7.1rc2~4 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=7a98e302c37781f9c6448a28bc70bff18b7e2862;p=thirdparty%2FPython%2Fcpython.git bpo-34900: Make TestCase.debug() work with subtests (GH-9707) (cherry picked from commit da2bf9f66d0c95b988c5d87646d168f65499b316) Co-authored-by: Bruno Oliveira --- diff --git a/Lib/unittest/case.py b/Lib/unittest/case.py index c0170d182573..758924d80113 100644 --- a/Lib/unittest/case.py +++ b/Lib/unittest/case.py @@ -519,7 +519,7 @@ class TestCase(object): case as failed but resumes execution at the end of the enclosed block, allowing further test code to be executed. """ - if not self._outcome.result_supports_subtests: + if self._outcome is None or not self._outcome.result_supports_subtests: yield return parent = self._subtest diff --git a/Lib/unittest/test/test_case.py b/Lib/unittest/test/test_case.py index 6b3439781c9d..6d58201ea814 100644 --- a/Lib/unittest/test/test_case.py +++ b/Lib/unittest/test/test_case.py @@ -425,6 +425,20 @@ class Test_TestCase(unittest.TestCase, TestEquality, TestHashing): expected = ['a1', 'a2', 'b1'] self.assertEqual(events, expected) + def test_subtests_debug(self): + # Test debug() with a test that uses subTest() (bpo-34900) + events = [] + + class Foo(unittest.TestCase): + def test_a(self): + events.append('test case') + with self.subTest(): + events.append('subtest 1') + + Foo('test_a').debug() + + self.assertEqual(events, ['test case', 'subtest 1']) + # "This class attribute gives the exception raised by the test() method. # If a test framework needs to use a specialized exception, possibly to # carry additional information, it must subclass this exception in diff --git a/Misc/NEWS.d/next/Library/2018-10-05-05-55-53.bpo-34900.8RNiFu.rst b/Misc/NEWS.d/next/Library/2018-10-05-05-55-53.bpo-34900.8RNiFu.rst new file mode 100644 index 000000000000..20e3a0e2d5a1 --- /dev/null +++ b/Misc/NEWS.d/next/Library/2018-10-05-05-55-53.bpo-34900.8RNiFu.rst @@ -0,0 +1,2 @@ +Fixed :meth:`unittest.TestCase.debug` when used to call test methods with +subtests. Patch by Bruno Oliveira.