Merge pull request #850 from ctiller/run-tests-timer

Add timer to run_tests.py
pull/847/merge
Nicolas Noble 10 years ago
commit edfd1023ae
  1. 13
      tools/run_tests/jobset.py

@ -161,6 +161,7 @@ class Job(object):
env = os.environ.copy()
for k, v in spec.environ.iteritems():
env[k] = v
self._start = time.time()
self._process = subprocess.Popen(args=spec.cmdline,
stderr=subprocess.STDOUT,
stdout=self._tempfile,
@ -168,12 +169,12 @@ class Job(object):
self._state = _RUNNING
self._newline_on_success = newline_on_success
self._travis = travis
if not travis:
message('START', spec.shortname)
message('START', spec.shortname, do_newline=self._travis)
def state(self, update_cache):
"""Poll current state of the job. Prints messages at completion."""
if self._state == _RUNNING and self._process.poll() is not None:
elapsed = time.time() - self._start
if self._process.returncode != 0:
self._state = _FAILURE
self._tempfile.seek(0)
@ -182,7 +183,7 @@ class Job(object):
self._spec.shortname, self._process.returncode), stdout)
else:
self._state = _SUCCESS
message('PASSED', self._spec.shortname,
message('PASSED', '%s [time=%.1fsec]' % (self._spec.shortname, elapsed),
do_newline=self._newline_on_success or self._travis)
if self._bin_hash:
update_cache.finished(self._spec.identity(), self._bin_hash)
@ -288,7 +289,11 @@ def run(cmdlines,
maxjobs if maxjobs is not None else _DEFAULT_MAX_JOBS,
newline_on_success, travis,
cache if cache is not None else NoCache())
for cmdline in shuffle_iteratable(cmdlines):
if not travis:
cmdlines = shuffle_iteratable(cmdlines)
else:
cmdlines = sorted(cmdlines)
for cmdline in cmdlines:
if not js.start(cmdline):
break
return js.finish()

Loading…
Cancel
Save