# HG changeset patch # User Bryan O'Sullivan # Date 2013-01-15 21:33:28 # Node ID 6880eae9f861efb2f017eb288b3a9617ee9d25cc # Parent f3b21beb9802b5b91cbfadbfe33144ad3b2b9bc8 run-tests: exit cleanly if parallel run is interrupted If interrupted while running with "--jobs N", run-tests asynchronously spewed a bunch of output and backtraces from both the master and slave processes, leaving the terminal full of goop. This patch makes it behave more sensibly. diff --git a/tests/run-tests.py b/tests/run-tests.py --- a/tests/run-tests.py +++ b/tests/run-tests.py @@ -1125,8 +1125,8 @@ def runchildren(options, tests): pid, status, fp = waitq.get() try: childresults = pickle.load(fp) - except pickle.UnpicklingError: - pass + except (pickle.UnpicklingError, EOFError): + sys.exit(255) else: passed += len(childresults['p']) skipped += len(childresults['s']) @@ -1221,7 +1221,8 @@ def runtests(options, tests): outputcoverage(options) except KeyboardInterrupt: failed = True - print "\ninterrupted!" + if not options.child: + print "\ninterrupted!" if failed: sys.exit(1)