Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(589)

Unified Diff: gtest-parallel

Issue 2671333002: Roll latest version of gtest-parallel. (Closed)
Patch Set: Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « README.webrtc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: gtest-parallel
diff --git a/gtest-parallel b/gtest-parallel
index 4e5a9fc0ed71489897afa08fbe6c70dc7d06f8ee..ddb05c1706cd32a1ffdc0def2768fe09ec98f750 100755
--- a/gtest-parallel
+++ b/gtest-parallel
@@ -19,6 +19,7 @@ import json
import multiprocessing
import optparse
import os
+import re
import signal
import subprocess
import sys
@@ -393,7 +394,7 @@ if options.failed:
tests.sort(reverse=True, key=lambda x: ((1 if x[0] is None else 0), x))
# Repeat tests (-r flag).
-tests *= options.repeat
+tests = [(test, i + 1) for test in tests for i in range(options.repeat)]
test_lock = threading.Lock()
job_id = 0
logger.log(str(-1) + ': TESTCNT ' + ' ' + str(len(tests)))
@@ -414,14 +415,14 @@ for logfile in os.listdir(options.output_dir):
# Run the specified job. Return the elapsed time in milliseconds if
# the job succeeds, or None if the job fails. (This ensures that
# failing tests will run first the next time.)
-def run_job((command, job_id, test)):
+def run_job((command, job_id, test, test_index)):
begin = time.time()
- with tempfile.NamedTemporaryFile(dir=options.output_dir, delete=False) as log:
+ test_name = re.sub('[^A-Za-z0-9]', '_', test) + '-' + str(test_index) + '.log'
+ with open(os.path.join(options.output_dir, test_name), 'w') as log:
sub = subprocess.Popen(command + ['--gtest_filter=' + test] +
['--gtest_color=' + options.gtest_color],
- stdout=log.file,
- stderr=log.file)
+ stdout=log, stderr=log)
try:
code = sigint_handler.wait(sub)
except sigint_handler.ProcessWasInterrupted:
@@ -447,9 +448,9 @@ def worker():
job = None
test_lock.acquire()
if job_id < len(tests):
- (_, test_binary, test, command) = tests[job_id]
+ ((_, test_binary, test, command), test_index) = tests[job_id]
logger.log(str(job_id) + ': TEST ' + test_binary + ' ' + test)
- job = (command, job_id, test)
+ job = (command, job_id, test, test_index)
job_id += 1
test_lock.release()
if job is None:
« no previous file with comments | « README.webrtc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698