diff options
author | Victor Stinner <victor.stinner@gmail.com> | 2012-08-08 22:37:26 +0200 |
---|---|---|
committer | Victor Stinner <victor.stinner@gmail.com> | 2012-08-08 22:37:26 +0200 |
commit | ed82436602e1435122ce8ec4cf33ddb68f6be832 (patch) | |
tree | 3338ffd939e8970daf072a17ec7cabb8e7901b25 /Lib/test/regrtest.py | |
parent | d6440f85825bd002a74092f87fb9b7dd52a9ea82 (diff) | |
download | cpython-ed82436602e1435122ce8ec4cf33ddb68f6be832.tar.gz |
regrtest: give more information when a child process fails with an error
different than KeyboardInterrupt
Diffstat (limited to 'Lib/test/regrtest.py')
-rwxr-xr-x | Lib/test/regrtest.py | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/Lib/test/regrtest.py b/Lib/test/regrtest.py index 15d7d0be5b..c9ef0ff349 100755 --- a/Lib/test/regrtest.py +++ b/Lib/test/regrtest.py @@ -440,8 +440,11 @@ def main(tests=None, testdir=None, verbose=0, quiet=False, args, kwargs = json.loads(a) try: result = runtest(*args, **kwargs) + except KeyboardInterrupt: + result = INTERRUPTED, '' except BaseException as e: - result = INTERRUPTED, e.__class__.__name__ + traceback.print_exc() + result = CHILD_ERROR, str(e) sys.stdout.flush() print() # Force a newline (just in case) print(json.dumps(result)) @@ -684,8 +687,7 @@ def main(tests=None, testdir=None, verbose=0, quiet=False, sys.stdout.flush() sys.stderr.flush() if result[0] == INTERRUPTED: - assert result[1] == 'KeyboardInterrupt' - raise KeyboardInterrupt # What else? + raise KeyboardInterrupt if result[0] == CHILD_ERROR: raise Exception("Child error on {}: {}".format(test, result[1])) test_index += 1 |