# HG changeset patch # User Bryan O'Sullivan # Date 1358285608 28800 # Node ID abba08b9f8e0b33132a94cde9e9fe69a5b991591 # Parent d55e5d564d22deeec370d7d5007372c3476fcd65 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. [ original upstream message ] diff -r d55e5d564d22 -r abba08b9f8e0 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)