# 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]) return self._send_test(subtest) def _result_for(self, test, subtest, result): self._send_result(test, result)