99fad4115d
Timeouts on num-fuzzer only lead to false positives, as tests might take unpredictably longer. This CL forgives timeouts through a global override mechanism of the expected outcomes. This allows to remove already existing scattered code that allowed timeouts in some test suites only. Bug: v8:6917 Change-Id: Ib131765d360e335789c1952bc6793ed051e016ea Reviewed-on: https://chromium-review.googlesource.com/908454 Commit-Queue: Michael Achenbach <machenbach@chromium.org> Reviewed-by: Michael Achenbach <machenbach@chromium.org> Reviewed-by: Sergiy Byelozyorov <sergiyb@chromium.org> Cr-Commit-Position: refs/heads/master@{#51188}
28 lines
1.1 KiB
Python
28 lines
1.1 KiB
Python
# Copyright 2018 the V8 project authors. All rights reserved.
|
|
# Use of this source code is governed by a BSD-style license that can be
|
|
# found in the LICENSE file.
|
|
|
|
from . import base
|
|
|
|
from testrunner.local import statusfile
|
|
from testrunner.outproc import base as outproc
|
|
|
|
class ForgiveTimeoutProc(base.TestProcProducer):
|
|
"""Test processor passing tests and results through and forgiving timeouts."""
|
|
def __init__(self):
|
|
super(ForgiveTimeoutProc, self).__init__('no-timeout')
|
|
|
|
def _next_test(self, test):
|
|
subtest = self._create_subtest(test, 'no_timeout')
|
|
if subtest.expected_outcomes == outproc.OUTCOMES_PASS:
|
|
subtest.expected_outcomes = outproc.OUTCOMES_PASS_OR_TIMEOUT
|
|
elif subtest.expected_outcomes == outproc.OUTCOMES_FAIL:
|
|
subtest.expected_outcomes = outproc.OUTCOMES_FAIL_OR_TIMEOUT
|
|
elif statusfile.TIMEOUT not in subtest.expected_outcomes:
|
|
subtest.expected_outcomes = (
|
|
subtest.expected_outcomes + [statusfile.TIMEOUT])
|
|
self._send_test(subtest)
|
|
|
|
def _result_for(self, test, subtest, result):
|
|
self._send_result(test, result)
|