]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
bpo-34279: regrtest consider that skipped tests are ran (GH-11132) (GH-11158)
authorVictor Stinner <vstinner@redhat.com>
Fri, 14 Dec 2018 12:44:08 +0000 (13:44 +0100)
committerGitHub <noreply@github.com>
Fri, 14 Dec 2018 12:44:08 +0000 (13:44 +0100)
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.

(cherry picked from commit 3a8f4fef4a4dd0e4a800545468eef9542e126181)

Lib/test/support/__init__.py
Lib/test/test_regrtest.py
Misc/NEWS.d/next/Tests/2018-12-12-18-20-18.bpo-34279.DhKcuP.rst [new file with mode: 0644]

index aaf028632a59dc1f2445d154afa67543eb096cae..9effdddd27dcc361668ddd3c90202c6a59de4274 100644 (file)
@@ -1543,7 +1543,7 @@ def _run_suite(suite):
         runner = BasicTestRunner()
 
     result = runner.run(suite)
-    if not result.testsRun:
+    if not result.testsRun and not result.skipped:
         raise TestDidNotRun
     if not result.wasSuccessful():
         if len(result.errors) == 1 and not result.failures:
index 015adc3fa06c1739140a8bc1a6a08f2acbad22f3..872ba646110738ba198f9cb1506ed3e53bcf2151 100644 (file)
@@ -734,6 +734,19 @@ class ArgsTestCase(BaseTestCase):
         output = self.run_tests("-m", "nosuchtest", testname, exitcode=0)
         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):
         code = textwrap.dedent("""
             import unittest
diff --git a/Misc/NEWS.d/next/Tests/2018-12-12-18-20-18.bpo-34279.DhKcuP.rst b/Misc/NEWS.d/next/Tests/2018-12-12-18-20-18.bpo-34279.DhKcuP.rst
new file mode 100644 (file)
index 0000000..5a70cc5
--- /dev/null
@@ -0,0 +1,3 @@
+: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.