[Android] Add --no-timeout to perf sharder.
This delegates timeout logic to the step command. BUG= R=bulach@chromium.org, craigdh@chromium.org Review URL: https://codereview.chromium.org/23784006 git-svn-id: http://src.chromium.org/svn/trunk/src/build@221721 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
This commit is contained in:
Родитель
9643c07e2a
Коммит
4c88902c4f
|
@ -10,4 +10,5 @@ PerfOptions = collections.namedtuple('PerfOptions', [
|
|||
'steps',
|
||||
'flaky_steps',
|
||||
'print_step',
|
||||
'no_timeout',
|
||||
])
|
||||
|
|
|
@ -114,9 +114,14 @@ class TestRunner(base_test_runner.BaseTestRunner):
|
|||
(self._tests[test_name], self.device))
|
||||
logging.info('%s : %s', test_name, cmd)
|
||||
start_time = datetime.datetime.now()
|
||||
|
||||
timeout = 1800
|
||||
if self._options.no_timeout:
|
||||
timeout = None
|
||||
|
||||
output, exit_code = pexpect.run(
|
||||
cmd, cwd=os.path.abspath(constants.DIR_SOURCE_ROOT),
|
||||
withexitstatus=True, logfile=sys.stdout, timeout=1800,
|
||||
withexitstatus=True, logfile=sys.stdout, timeout=timeout,
|
||||
env=os.environ)
|
||||
end_time = datetime.datetime.now()
|
||||
if exit_code is None:
|
||||
|
|
|
@ -4,11 +4,7 @@
|
|||
# Use of this source code is governed by a BSD-style license that can be
|
||||
# found in the LICENSE file.
|
||||
|
||||
"""Runs all types of tests from one unified interface.
|
||||
|
||||
TODO(gkanwar):
|
||||
* Add options to run Monkey tests.
|
||||
"""
|
||||
"""Runs all types of tests from one unified interface."""
|
||||
|
||||
import collections
|
||||
import logging
|
||||
|
@ -433,14 +429,20 @@ def AddPerfTestOptions(option_parser):
|
|||
option_parser.command_list = []
|
||||
option_parser.example = ('%prog perf --steps perf_steps.json')
|
||||
|
||||
option_parser.add_option('--steps', help='JSON file containing the list '
|
||||
'of perf steps to run.')
|
||||
option_parser.add_option('--flaky-steps',
|
||||
help='A JSON file containing steps that are flaky '
|
||||
'and will have its exit code ignored.')
|
||||
option_parser.add_option('--print-step', help='The name of a previously '
|
||||
'executed perf step to print.')
|
||||
|
||||
option_parser.add_option(
|
||||
'--steps',
|
||||
help='JSON file containing the list of perf steps to run.')
|
||||
option_parser.add_option(
|
||||
'--flaky-steps',
|
||||
help=('A JSON file containing steps that are flaky '
|
||||
'and will have its exit code ignored.'))
|
||||
option_parser.add_option(
|
||||
'--print-step',
|
||||
help='The name of a previously executed perf step to print.')
|
||||
option_parser.add_option(
|
||||
'--no-timeout', action='store_true',
|
||||
help=('Do not impose a timeout. Each perf step is responsible for '
|
||||
'implementing the timeout logic.'))
|
||||
AddCommonOptions(option_parser)
|
||||
|
||||
|
||||
|
@ -458,7 +460,8 @@ def ProcessPerfTestOptions(options, error_func):
|
|||
if not options.steps and not options.print_step:
|
||||
error_func('Please specify --steps or --print-step')
|
||||
return perf_test_options.PerfOptions(
|
||||
options.steps, options.flaky_steps, options.print_step)
|
||||
options.steps, options.flaky_steps, options.print_step,
|
||||
options.no_timeout)
|
||||
|
||||
|
||||
def _RunGTests(options, error_func, devices):
|
||||
|
@ -571,7 +574,8 @@ def _RunMonkeyTests(options, error_func, devices):
|
|||
runner_factory, tests = monkey_setup.Setup(monkey_options)
|
||||
|
||||
results, exit_code = test_dispatcher.RunTests(
|
||||
tests, runner_factory, devices, shard=False, test_timeout=None)
|
||||
tests, runner_factory, devices, shard=False, test_timeout=None,
|
||||
num_retries=options.num_retries)
|
||||
|
||||
report_results.LogFull(
|
||||
results=results,
|
||||
|
@ -591,7 +595,8 @@ def _RunPerfTests(options, error_func, devices):
|
|||
runner_factory, tests = perf_setup.Setup(perf_options)
|
||||
|
||||
results, _ = test_dispatcher.RunTests(
|
||||
tests, runner_factory, devices, shard=True, test_timeout=None)
|
||||
tests, runner_factory, devices, shard=True, test_timeout=None,
|
||||
num_retries=options.num_retries)
|
||||
|
||||
report_results.LogFull(
|
||||
results=results,
|
||||
|
|
Загрузка…
Ссылка в новой задаче