[test] Let fuzzer total timeout also stop the execution loop
TBR=sergiyb@chromium.org Bug: v8:6917 Change-Id: I5bc8f49dc01d98949e3efab01192c663de8027bf Reviewed-on: https://chromium-review.googlesource.com/888578 Commit-Queue: Michael Achenbach <machenbach@chromium.org> Reviewed-by: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#50887}
This commit is contained in:
parent
35bce874d4
commit
f4ebbb3fd4
@ -177,6 +177,7 @@ class CombinedTest(testcase.TestCase):
|
||||
self._tests = tests
|
||||
|
||||
def _prepare_outcomes(self, force_update=True):
|
||||
# We tolerate timeout with combined tests.
|
||||
self._statusfile_outcomes = outproc.OUTCOMES_PASS_OR_TIMEOUT
|
||||
self.expected_outcomes = outproc.OUTCOMES_PASS_OR_TIMEOUT
|
||||
|
||||
|
@ -94,9 +94,12 @@ class TestProc(object):
|
||||
self._prev_proc.heartbeat()
|
||||
|
||||
def stop(self):
|
||||
self._stopped = True
|
||||
if self._prev_proc:
|
||||
self._prev_proc.stop()
|
||||
if not self._stopped:
|
||||
self._stopped = True
|
||||
if self._prev_proc:
|
||||
self._prev_proc.stop()
|
||||
if self._next_proc:
|
||||
self._next_proc.stop()
|
||||
|
||||
@property
|
||||
def is_stopped(self):
|
||||
|
@ -65,6 +65,8 @@ class ExecutionProc(base.TestProc):
|
||||
)
|
||||
for pool_result in it:
|
||||
if pool_result.heartbeat:
|
||||
if self.is_stopped:
|
||||
break
|
||||
continue
|
||||
|
||||
job_result = pool_result.value
|
||||
@ -73,6 +75,11 @@ class ExecutionProc(base.TestProc):
|
||||
test, result.cmd = self._tests[test_id]
|
||||
del self._tests[test_id]
|
||||
self._send_result(test, result)
|
||||
|
||||
if self.is_stopped:
|
||||
# Stop first after sending the current result to not waste it.
|
||||
break
|
||||
|
||||
except KeyboardInterrupt:
|
||||
raise
|
||||
except:
|
||||
|
@ -34,7 +34,7 @@ class RerunProc(base.TestProcProducer):
|
||||
results = self._results[test.procid]
|
||||
results.append(result)
|
||||
|
||||
if self._needs_rerun(test, result):
|
||||
if not self.is_stopped and self._needs_rerun(test, result):
|
||||
self._rerun[test.procid] += 1
|
||||
if self._rerun_total_left is not None:
|
||||
self._rerun_total_left -= 1
|
||||
|
Loading…
Reference in New Issue
Block a user