mirror of
https://github.com/python/cpython.git
synced 2025-08-15 06:10:47 +00:00
[3.12] gh-113267: Revert "gh-106584: Fix exit code for unittest in Python 3.12 (GH-106588)" (GH-114470) (GH-114994)
This reverts commit8fc071345b
. (cherry picked from commitecabff98c4
) Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
This commit is contained in:
parent
d8a787258d
commit
0a737639dc
5 changed files with 14 additions and 16 deletions
|
@ -571,7 +571,7 @@ class TestDiscovery(unittest.TestCase):
|
||||||
result = unittest.TestResult()
|
result = unittest.TestResult()
|
||||||
suite.run(result)
|
suite.run(result)
|
||||||
self.assertEqual(len(result.skipped), 1)
|
self.assertEqual(len(result.skipped), 1)
|
||||||
self.assertEqual(result.testsRun, 0)
|
self.assertEqual(result.testsRun, 1)
|
||||||
self.assertEqual(import_calls, ['my_package'])
|
self.assertEqual(import_calls, ['my_package'])
|
||||||
|
|
||||||
# Check picklability
|
# Check picklability
|
||||||
|
|
|
@ -103,16 +103,16 @@ class Test_TestSkipping(unittest.TestCase):
|
||||||
result = LoggingResult(events)
|
result = LoggingResult(events)
|
||||||
self.assertIs(suite.run(result), result)
|
self.assertIs(suite.run(result), result)
|
||||||
self.assertEqual(len(result.skipped), 1)
|
self.assertEqual(len(result.skipped), 1)
|
||||||
expected = ['addSkip', 'stopTest', 'startTest',
|
expected = ['startTest', 'addSkip', 'stopTest',
|
||||||
'addSuccess', 'stopTest']
|
'startTest', 'addSuccess', 'stopTest']
|
||||||
self.assertEqual(events, expected)
|
self.assertEqual(events, expected)
|
||||||
self.assertEqual(result.testsRun, 1)
|
self.assertEqual(result.testsRun, 2)
|
||||||
self.assertEqual(result.skipped, [(test_do_skip, "testing")])
|
self.assertEqual(result.skipped, [(test_do_skip, "testing")])
|
||||||
self.assertTrue(result.wasSuccessful())
|
self.assertTrue(result.wasSuccessful())
|
||||||
|
|
||||||
events = []
|
events = []
|
||||||
result = test_do_skip.run()
|
result = test_do_skip.run()
|
||||||
self.assertEqual(events, ['startTestRun', 'addSkip',
|
self.assertEqual(events, ['startTestRun', 'startTest', 'addSkip',
|
||||||
'stopTest', 'stopTestRun'])
|
'stopTest', 'stopTestRun'])
|
||||||
self.assertEqual(result.skipped, [(test_do_skip, "testing")])
|
self.assertEqual(result.skipped, [(test_do_skip, "testing")])
|
||||||
|
|
||||||
|
@ -135,13 +135,13 @@ class Test_TestSkipping(unittest.TestCase):
|
||||||
test = Foo("test_1")
|
test = Foo("test_1")
|
||||||
suite = unittest.TestSuite([test])
|
suite = unittest.TestSuite([test])
|
||||||
self.assertIs(suite.run(result), result)
|
self.assertIs(suite.run(result), result)
|
||||||
self.assertEqual(events, ['addSkip', 'stopTest'])
|
self.assertEqual(events, ['startTest', 'addSkip', 'stopTest'])
|
||||||
self.assertEqual(result.skipped, [(test, "testing")])
|
self.assertEqual(result.skipped, [(test, "testing")])
|
||||||
self.assertEqual(record, [])
|
self.assertEqual(record, [])
|
||||||
|
|
||||||
events = []
|
events = []
|
||||||
result = test.run()
|
result = test.run()
|
||||||
self.assertEqual(events, ['startTestRun', 'addSkip',
|
self.assertEqual(events, ['startTestRun', 'startTest', 'addSkip',
|
||||||
'stopTest', 'stopTestRun'])
|
'stopTest', 'stopTestRun'])
|
||||||
self.assertEqual(result.skipped, [(test, "testing")])
|
self.assertEqual(result.skipped, [(test, "testing")])
|
||||||
self.assertEqual(record, [])
|
self.assertEqual(record, [])
|
||||||
|
|
|
@ -606,6 +606,7 @@ class TestCase(object):
|
||||||
else:
|
else:
|
||||||
stopTestRun = None
|
stopTestRun = None
|
||||||
|
|
||||||
|
result.startTest(self)
|
||||||
try:
|
try:
|
||||||
testMethod = getattr(self, self._testMethodName)
|
testMethod = getattr(self, self._testMethodName)
|
||||||
if (getattr(self.__class__, "__unittest_skip__", False) or
|
if (getattr(self.__class__, "__unittest_skip__", False) or
|
||||||
|
@ -616,9 +617,6 @@ class TestCase(object):
|
||||||
_addSkip(result, self, skip_why)
|
_addSkip(result, self, skip_why)
|
||||||
return result
|
return result
|
||||||
|
|
||||||
# Increase the number of tests only if it hasn't been skipped
|
|
||||||
result.startTest(self)
|
|
||||||
|
|
||||||
expecting_failure = (
|
expecting_failure = (
|
||||||
getattr(self, "__unittest_expecting_failure__", False) or
|
getattr(self, "__unittest_expecting_failure__", False) or
|
||||||
getattr(testMethod, "__unittest_expecting_failure__", False)
|
getattr(testMethod, "__unittest_expecting_failure__", False)
|
||||||
|
|
|
@ -97,10 +97,8 @@ class TestResult(object):
|
||||||
|
|
||||||
sys.stdout = self._original_stdout
|
sys.stdout = self._original_stdout
|
||||||
sys.stderr = self._original_stderr
|
sys.stderr = self._original_stderr
|
||||||
if self._stdout_buffer is not None:
|
|
||||||
self._stdout_buffer.seek(0)
|
self._stdout_buffer.seek(0)
|
||||||
self._stdout_buffer.truncate()
|
self._stdout_buffer.truncate()
|
||||||
if self._stderr_buffer is not None:
|
|
||||||
self._stderr_buffer.seek(0)
|
self._stderr_buffer.seek(0)
|
||||||
self._stderr_buffer.truncate()
|
self._stderr_buffer.truncate()
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
Revert changes in :gh:`106584` which made calls of ``TestResult`` methods
|
||||||
|
``startTest()`` and ``stopTest()`` unbalanced.
|
Loading…
Add table
Add a link
Reference in a new issue