diff options
author | Victor Stinner <victor.stinner@gmail.com> | 2017-05-09 09:34:01 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-05-09 09:34:01 (GMT) |
commit | 74683fc6247c522ae955a6e7308b8ff51def35d8 (patch) | |
tree | efc54a62e658f26c9fe66e257f4740923307096b | |
parent | 9da408d15bdef624a5632182cb4edf98001fa82f (diff) | |
download | cpython-74683fc6247c522ae955a6e7308b8ff51def35d8.zip cpython-74683fc6247c522ae955a6e7308b8ff51def35d8.tar.gz cpython-74683fc6247c522ae955a6e7308b8ff51def35d8.tar.bz2 |
bpo-30258: regrtest: Fix run_tests_multiprocess() (#1479)
If the child process exited with a non-zero code, don't strip the
last line of stdout anymore.
Add also a sanity check in accumulate_result().
-rw-r--r-- | Lib/test/libregrtest/main.py | 2 | ||||
-rw-r--r-- | Lib/test/libregrtest/runtest_mp.py | 2 |
2 files changed, 3 insertions, 1 deletions
diff --git a/Lib/test/libregrtest/main.py b/Lib/test/libregrtest/main.py index 2cfbdd1..e068b92 100644 --- a/Lib/test/libregrtest/main.py +++ b/Lib/test/libregrtest/main.py @@ -116,6 +116,8 @@ class Regrtest: elif ok == RESOURCE_DENIED: self.skipped.append(test) self.resource_denieds.append(test) + elif ok != INTERRUPTED: + raise ValueError("invalid test result: %r" % ok) def display_progress(self, test_index, test): if self.ns.quiet: diff --git a/Lib/test/libregrtest/runtest_mp.py b/Lib/test/libregrtest/runtest_mp.py index 34b3ae6..779ff01 100644 --- a/Lib/test/libregrtest/runtest_mp.py +++ b/Lib/test/libregrtest/runtest_mp.py @@ -124,13 +124,13 @@ class MultiprocessThread(threading.Thread): finally: self.current_test = None - stdout, _, result = stdout.strip().rpartition("\n") if retcode != 0: result = (CHILD_ERROR, "Exit code %s" % retcode) self.output.put((test, stdout.rstrip(), stderr.rstrip(), result)) return False + stdout, _, result = stdout.strip().rpartition("\n") if not result: self.output.put((None, None, None, None)) return True |