MCPcopy Index your code
hub / github.com/python/cpython / test_rerun_success

Method test_rerun_success

Lib/test/test_regrtest.py:1556–1597  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

1554 stats=TestStats(3, 2))
1555
1556 def test_rerun_success(self):
1557 # FAILURE then SUCCESS
1558 marker_filename = os.path.abspath("regrtest_marker_filename")
1559 self.addCleanup(os_helper.unlink, marker_filename)
1560 self.assertFalse(os.path.exists(marker_filename))
1561
1562 code = textwrap.dedent(f"""
1563 import os.path
1564 import unittest
1565
1566 marker_filename = {marker_filename!r}
1567
1568 class Tests(unittest.TestCase):
1569 def test_succeed(self):
1570 return
1571
1572 def test_fail_once(self):
1573 if not os.path.exists(marker_filename):
1574 open(marker_filename, "w").close()
1575 self.fail("bug")
1576 """)
1577 testname = self.create_test(code=code)
1578
1579 # FAILURE then SUCCESS => exit code 0
1580 output = self.run_tests("--rerun", testname, exitcode=0)
1581 self.check_executed_tests(output, [testname],
1582 rerun=Rerun(testname,
1583 match="test_fail_once",
1584 success=True),
1585 stats=TestStats(3, 1))
1586 os_helper.unlink(marker_filename)
1587
1588 # with --fail-rerun, exit code EXITCODE_RERUN_FAIL
1589 # on "FAILURE then SUCCESS" state.
1590 output = self.run_tests("--rerun", "--fail-rerun", testname,
1591 exitcode=EXITCODE_RERUN_FAIL)
1592 self.check_executed_tests(output, [testname],
1593 rerun=Rerun(testname,
1594 match="test_fail_once",
1595 success=True),
1596 stats=TestStats(3, 1))
1597 os_helper.unlink(marker_filename)
1598
1599 def test_rerun_setup_class_hook_failure(self):
1600 # FAILURE then FAILURE

Callers

nothing calls this directly

Calls 11

run_testsMethod · 0.95
TestStatsClass · 0.90
RerunClass · 0.85
addCleanupMethod · 0.80
assertFalseMethod · 0.80
create_testMethod · 0.80
check_executed_testsMethod · 0.80
abspathMethod · 0.45
existsMethod · 0.45
dedentMethod · 0.45
unlinkMethod · 0.45

Tested by

no test coverage detected