(self)
| 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 |
nothing calls this directly
no test coverage detected