Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(205)

Side by Side Diff: build/android/test_runner.py

Issue 1214483011: [Android] Add optional per-test cooling wait for perf tests. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « build/android/pylib/perf/test_runner.py ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/usr/bin/env python 1 #!/usr/bin/env python
2 # 2 #
3 # Copyright 2013 The Chromium Authors. All rights reserved. 3 # Copyright 2013 The Chromium Authors. All rights reserved.
4 # Use of this source code is governed by a BSD-style license that can be 4 # Use of this source code is governed by a BSD-style license that can be
5 # found in the LICENSE file. 5 # found in the LICENSE file.
6 6
7 """Runs all types of tests from one unified interface.""" 7 """Runs all types of tests from one unified interface."""
8 8
9 import argparse 9 import argparse
10 import collections 10 import collections
(...skipping 588 matching lines...) Expand 10 before | Expand all | Expand 10 after
599 group.add_argument( 599 group.add_argument(
600 '--no-timeout', action='store_true', 600 '--no-timeout', action='store_true',
601 help=('Do not impose a timeout. Each perf step is responsible for ' 601 help=('Do not impose a timeout. Each perf step is responsible for '
602 'implementing the timeout logic.')) 602 'implementing the timeout logic.'))
603 group.add_argument( 603 group.add_argument(
604 '-f', '--test-filter', 604 '-f', '--test-filter',
605 help=('Test filter (will match against the names listed in --steps).')) 605 help=('Test filter (will match against the names listed in --steps).'))
606 group.add_argument( 606 group.add_argument(
607 '--dry-run', action='store_true', 607 '--dry-run', action='store_true',
608 help='Just print the steps without executing.') 608 help='Just print the steps without executing.')
609 # Uses 0.1 degrees C because that's what Android does.
610 group.add_argument(
611 '--max-battery-temp', type=int,
612 help='Only start tests when the battery is at or below the given '
613 'temperature (0.1 C)')
609 group.add_argument('single_step_command', nargs='*', action=SingleStepAction, 614 group.add_argument('single_step_command', nargs='*', action=SingleStepAction,
610 help='If --single-step is specified, the command to run.') 615 help='If --single-step is specified, the command to run.')
611 AddCommonOptions(parser) 616 AddCommonOptions(parser)
612 AddDeviceOptions(parser) 617 AddDeviceOptions(parser)
613 618
614 619
615 def ProcessPerfTestOptions(args): 620 def ProcessPerfTestOptions(args):
616 """Processes all perf test options. 621 """Processes all perf test options.
617 622
618 Args: 623 Args:
619 args: argparse.Namespace object. 624 args: argparse.Namespace object.
620 625
621 Returns: 626 Returns:
622 A PerfOptions named tuple which contains all options relevant to 627 A PerfOptions named tuple which contains all options relevant to
623 perf tests. 628 perf tests.
624 """ 629 """
625 # TODO(jbudorick): Move single_step handling down into the perf tests. 630 # TODO(jbudorick): Move single_step handling down into the perf tests.
626 if args.single_step: 631 if args.single_step:
627 args.single_step = ' '.join(args.single_step_command) 632 args.single_step = ' '.join(args.single_step_command)
628 # TODO(jbudorick): Get rid of PerfOptions. 633 # TODO(jbudorick): Get rid of PerfOptions.
629 return perf_test_options.PerfOptions( 634 return perf_test_options.PerfOptions(
630 args.steps, args.flaky_steps, args.output_json_list, 635 args.steps, args.flaky_steps, args.output_json_list,
631 args.print_step, args.no_timeout, args.test_filter, 636 args.print_step, args.no_timeout, args.test_filter,
632 args.dry_run, args.single_step, args.collect_chartjson_data, 637 args.dry_run, args.single_step, args.collect_chartjson_data,
633 args.output_chartjson_data) 638 args.output_chartjson_data, args.max_battery_temp)
634 639
635 640
636 def AddPythonTestOptions(parser): 641 def AddPythonTestOptions(parser):
637 group = parser.add_argument_group('Python Test Options') 642 group = parser.add_argument_group('Python Test Options')
638 group.add_argument( 643 group.add_argument(
639 '-s', '--suite', dest='suite_name', metavar='SUITE_NAME', 644 '-s', '--suite', dest='suite_name', metavar='SUITE_NAME',
640 choices=constants.PYTHON_UNIT_TEST_SUITES.keys(), 645 choices=constants.PYTHON_UNIT_TEST_SUITES.keys(),
641 help='Name of the test suite to run.') 646 help='Name of the test suite to run.')
642 AddCommonOptions(parser) 647 AddCommonOptions(parser)
643 648
(...skipping 403 matching lines...) Expand 10 before | Expand all | Expand 10 after
1047 if e.is_infra_error: 1052 if e.is_infra_error:
1048 return constants.INFRA_EXIT_CODE 1053 return constants.INFRA_EXIT_CODE
1049 return constants.ERROR_EXIT_CODE 1054 return constants.ERROR_EXIT_CODE
1050 except: # pylint: disable=W0702 1055 except: # pylint: disable=W0702
1051 logging.exception('Unrecognized error occurred.') 1056 logging.exception('Unrecognized error occurred.')
1052 return constants.ERROR_EXIT_CODE 1057 return constants.ERROR_EXIT_CODE
1053 1058
1054 1059
1055 if __name__ == '__main__': 1060 if __name__ == '__main__':
1056 sys.exit(main()) 1061 sys.exit(main())
OLDNEW
« no previous file with comments | « build/android/pylib/perf/test_runner.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698