-
-
Notifications
You must be signed in to change notification settings - Fork 32.4k
Closed
Labels
3.12only security fixesonly security fixes3.13bugs and security fixesbugs and security fixesstdlibPython modules in the Lib dirPython modules in the Lib dirtype-bugAn unexpected behavior, bug, or errorAn unexpected behavior, bug, or error
Description
Bug report
In Python 3.12, a new exit code (5
, instead of 0
) was added if all tests were skipped in unittest
. But in some cases it still returns 0
. See code examples.
Code example 1:
import unittest
class TestSimple(unittest.TestCase):
@classmethod
def setUpClass(cls):
raise unittest.SkipTest("Skip whole Case")
def test_true(self):
self.assertTrue(True)
def test_false(self):
self.assertTrue(False, msg="Is not True")
Output:
Ran 0 tests in 0.000s
NO TESTS RAN (skipped=1)
Ok, we get exit code 5 here.
Code example 2:
import unittest
class TestCase(unittest.TestCase):
@unittest.skip("something")
def test(self):
self.assertTrue(False)
Output:
Ran 1 test in 0.000s
OK (skipped=1)
Here we can see output 0
. Ran one test and skipped. But I think it is incorrect, because all tests were skipped.
Your environment
- CPython versions tested on: 3.12
- Operating system and architecture: I think it does not matter.
Linked PRs
Metadata
Metadata
Assignees
Labels
3.12only security fixesonly security fixes3.13bugs and security fixesbugs and security fixesstdlibPython modules in the Lib dirPython modules in the Lib dirtype-bugAn unexpected behavior, bug, or errorAn unexpected behavior, bug, or error
Projects
Status
Done