Issue #12624: It is now possible to fail after the first failure when

running in verbose mode (`-v` or `-W`), by using the `--failfast`
(or `-G`) option to regrtest.  This is useful with long test suites
such as test_io or test_subprocess.
This commit is contained in:
Antoine Pitrou 2011-07-23 22:37:52 +02:00
commit 8dbd8573e5
3 changed files with 24 additions and 8 deletions

View file

@ -55,7 +55,7 @@ __all__ = [
"threading_cleanup", "reap_children", "cpython_only", "check_impl_detail",
"get_attribute", "swap_item", "swap_attr", "requires_IEEE_754",
"TestHandler", "Matcher", "can_symlink", "skip_unless_symlink",
"import_fresh_module", "requires_zlib", "PIPE_MAX_SIZE"
"import_fresh_module", "requires_zlib", "PIPE_MAX_SIZE", "failfast",
]
class Error(Exception):
@ -179,6 +179,7 @@ use_resources = None # Flag set to [] by regrtest.py
max_memuse = 0 # Disable bigmem tests (they will still be run with
# small sizes, to make sure they work.)
real_max_memuse = 0
failfast = False
# _original_stdout is meant to hold stdout at the time regrtest began.
# This may be "the real" stdout, or IDLE's emulation of stdout, or whatever.
@ -1270,7 +1271,8 @@ def refcount_test(test):
def _run_suite(suite):
"""Run tests from a unittest.TestSuite-derived class."""
if verbose:
runner = unittest.TextTestRunner(sys.stdout, verbosity=2)
runner = unittest.TextTestRunner(sys.stdout, verbosity=2,
failfast=failfast)
else:
runner = BasicTestRunner()