(self)
| 1521 | stats=TestStats(3, 2)) |
| 1522 | |
| 1523 | def test_rerun_success(self): |
| 1524 | # FAILURE then SUCCESS |
| 1525 | marker_filename = os.path.abspath("regrtest_marker_filename") |
| 1526 | self.addCleanup(os_helper.unlink, marker_filename) |
| 1527 | self.assertFalse(os.path.exists(marker_filename)) |
| 1528 | |
| 1529 | code = textwrap.dedent(f""" |
| 1530 | import os.path |
| 1531 | import unittest |
| 1532 | |
| 1533 | marker_filename = {marker_filename!r} |
| 1534 | |
| 1535 | class Tests(unittest.TestCase): |
| 1536 | def test_succeed(self): |
| 1537 | return |
| 1538 | |
| 1539 | def test_fail_once(self): |
| 1540 | if not os.path.exists(marker_filename): |
| 1541 | open(marker_filename, "w").close() |
| 1542 | self.fail("bug") |
| 1543 | """) |
| 1544 | testname = self.create_test(code=code) |
| 1545 | |
| 1546 | # FAILURE then SUCCESS => exit code 0 |
| 1547 | output = self.run_tests("--rerun", testname, exitcode=0) |
| 1548 | self.check_executed_tests(output, [testname], |
| 1549 | rerun=Rerun(testname, |
| 1550 | match="test_fail_once", |
| 1551 | success=True), |
| 1552 | stats=TestStats(3, 1)) |
| 1553 | os_helper.unlink(marker_filename) |
| 1554 | |
| 1555 | # with --fail-rerun, exit code EXITCODE_RERUN_FAIL |
| 1556 | # on "FAILURE then SUCCESS" state. |
| 1557 | output = self.run_tests("--rerun", "--fail-rerun", testname, |
| 1558 | exitcode=EXITCODE_RERUN_FAIL) |
| 1559 | self.check_executed_tests(output, [testname], |
| 1560 | rerun=Rerun(testname, |
| 1561 | match="test_fail_once", |
| 1562 | success=True), |
| 1563 | stats=TestStats(3, 1)) |
| 1564 | os_helper.unlink(marker_filename) |
| 1565 | |
| 1566 | def test_rerun_setup_class_hook_failure(self): |
| 1567 | # FAILURE then FAILURE |
nothing calls this directly
no test coverage detected