diff --git a/Lib/test/regrtest.py b/Lib/test/regrtest.py index 413d7f90649074..9874dded97ad42 100755 --- a/Lib/test/regrtest.py +++ b/Lib/test/regrtest.py @@ -555,16 +555,16 @@ def work(): # comes from the shutdown of the interpreter in the subcommand. stderr = debug_output_pat.sub("", stderr) - if retcode != 0: + if retcode == 0: + stdout, _, result = stdout.strip().rpartition("\n") + if not result: + output.put((None, None, None, None)) + return + + result = json.loads(result) + else: result = (CHILD_ERROR, "Exit code %s" % retcode) - output.put((test, stdout.rstrip(), stderr.rstrip(), - result)) - stdout, _, result = stdout.strip().rpartition("\n") - if not result: - output.put((None, None, None, None)) - return - result = json.loads(result) output.put((test, stdout.rstrip(), stderr.rstrip(), result)) except BaseException: output.put((None, None, None, None))