Commit 3a8f4fef authored by Victor Stinner's avatar Victor Stinner Committed by GitHub

bpo-34279: regrtest consider that skipped tests are ran (GH-11132)

bpo-34279, bpo-35412: support.run_unittest() no longer raises
TestDidNotRun if a test result contains skipped tests. The
exception is now only raised if no test have been run and no test
have been skipped.
parent 7acd50ad
...@@ -1937,7 +1937,7 @@ def _run_suite(suite): ...@@ -1937,7 +1937,7 @@ def _run_suite(suite):
if junit_xml_list is not None: if junit_xml_list is not None:
junit_xml_list.append(result.get_xml_element()) junit_xml_list.append(result.get_xml_element())
if not result.testsRun: if not result.testsRun and not result.skipped:
raise TestDidNotRun raise TestDidNotRun
if not result.wasSuccessful(): if not result.wasSuccessful():
if len(result.errors) == 1 and not result.failures: if len(result.errors) == 1 and not result.failures:
......
...@@ -1004,6 +1004,7 @@ class ArgsTestCase(BaseTestCase): ...@@ -1004,6 +1004,7 @@ class ArgsTestCase(BaseTestCase):
output = self.run_tests("-w", testname, exitcode=2) output = self.run_tests("-w", testname, exitcode=2)
self.check_executed_tests(output, [testname], self.check_executed_tests(output, [testname],
failed=testname, rerun=testname) failed=testname, rerun=testname)
def test_no_tests_ran(self): def test_no_tests_ran(self):
code = textwrap.dedent(""" code = textwrap.dedent("""
import unittest import unittest
...@@ -1017,6 +1018,19 @@ class ArgsTestCase(BaseTestCase): ...@@ -1017,6 +1018,19 @@ class ArgsTestCase(BaseTestCase):
output = self.run_tests(testname, "-m", "nosuchtest", exitcode=0) output = self.run_tests(testname, "-m", "nosuchtest", exitcode=0)
self.check_executed_tests(output, [testname], no_test_ran=testname) self.check_executed_tests(output, [testname], no_test_ran=testname)
def test_no_tests_ran_skip(self):
code = textwrap.dedent("""
import unittest
class Tests(unittest.TestCase):
def test_skipped(self):
self.skipTest("because")
""")
testname = self.create_test(code=code)
output = self.run_tests(testname, exitcode=0)
self.check_executed_tests(output, [testname])
def test_no_tests_ran_multiple_tests_nonexistent(self): def test_no_tests_ran_multiple_tests_nonexistent(self):
code = textwrap.dedent(""" code = textwrap.dedent("""
import unittest import unittest
......
:func:`test.support.run_unittest` no longer raise :exc:`TestDidNotRun` if
the test result contains skipped tests. The exception is now only raised if
no test have been run and no test have been skipped.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment