# HG changeset patch # User Bryan O'Sullivan # Date 1358285608 28800 # 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 -r f3b21beb9802 -r 6880eae9f861 tests/run-tests.py --- a/tests/run-tests.py Sun Jan 13 01:39:16 2013 -0600 +++ b/tests/run-tests.py Tue Jan 15 13:33:28 2013 -0800 @@ -1125,8 +1125,8 @@ 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 @@ outputcoverage(options) except KeyboardInterrupt: failed = True - print "\ninterrupted!" + if not options.child: + print "\ninterrupted!" if failed: sys.exit(1)