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

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

Issue 301183004: Android: adds device affinity for perf tests. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 6 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 | Annotate | Revision Log
« 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 collections 9 import collections
10 import logging 10 import logging
(...skipping 615 matching lines...) Expand 10 before | Expand all | Expand 10 after
626 num_retries=options.num_retries) 626 num_retries=options.num_retries)
627 627
628 report_results.LogFull( 628 report_results.LogFull(
629 results=results, 629 results=results,
630 test_type='Monkey', 630 test_type='Monkey',
631 test_package='Monkey') 631 test_package='Monkey')
632 632
633 return exit_code 633 return exit_code
634 634
635 635
636 def _RunPerfTests(options, args, error_func, devices): 636 def _RunPerfTests(options, args, error_func):
637 """Subcommand of RunTestsCommands which runs perf tests.""" 637 """Subcommand of RunTestsCommands which runs perf tests."""
638 perf_options = ProcessPerfTestOptions(options, args, error_func) 638 perf_options = ProcessPerfTestOptions(options, args, error_func)
639 # Just print the results from a single previously executed step. 639 # Just print the results from a single previously executed step.
640 if perf_options.print_step: 640 if perf_options.print_step:
641 return perf_test_runner.PrintTestOutput(perf_options.print_step) 641 return perf_test_runner.PrintTestOutput(perf_options.print_step)
642 642
643 runner_factory, tests = perf_setup.Setup(perf_options) 643 runner_factory, tests, devices = perf_setup.Setup(perf_options)
644 644
645 # shard=False means that each device will get the full list of tests
646 # and then each one will decide their own affinity.
647 # shard=True means each device will pop the next test available from a queue,
648 # which increases throughput but have no affinity.
645 results, _ = test_dispatcher.RunTests( 649 results, _ = test_dispatcher.RunTests(
646 tests, runner_factory, devices, shard=True, test_timeout=None, 650 tests, runner_factory, devices, shard=False, test_timeout=None,
647 num_retries=options.num_retries) 651 num_retries=options.num_retries)
648 652
649 report_results.LogFull( 653 report_results.LogFull(
650 results=results, 654 results=results,
651 test_type='Perf', 655 test_type='Perf',
652 test_package='Perf') 656 test_package='Perf')
653 657
654 if perf_options.single_step: 658 if perf_options.single_step:
655 return perf_test_runner.PrintTestOutput('single_step') 659 return perf_test_runner.PrintTestOutput('single_step')
656 660
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
724 return _RunGTests(options, devices) 728 return _RunGTests(options, devices)
725 elif command == 'linker': 729 elif command == 'linker':
726 return _RunLinkerTests(options, devices) 730 return _RunLinkerTests(options, devices)
727 elif command == 'instrumentation': 731 elif command == 'instrumentation':
728 return _RunInstrumentationTests(options, option_parser.error, devices) 732 return _RunInstrumentationTests(options, option_parser.error, devices)
729 elif command == 'uiautomator': 733 elif command == 'uiautomator':
730 return _RunUIAutomatorTests(options, option_parser.error, devices) 734 return _RunUIAutomatorTests(options, option_parser.error, devices)
731 elif command == 'monkey': 735 elif command == 'monkey':
732 return _RunMonkeyTests(options, option_parser.error, devices) 736 return _RunMonkeyTests(options, option_parser.error, devices)
733 elif command == 'perf': 737 elif command == 'perf':
734 return _RunPerfTests(options, args, option_parser.error, devices) 738 return _RunPerfTests(options, args, option_parser.error)
735 else: 739 else:
736 raise Exception('Unknown test type.') 740 raise Exception('Unknown test type.')
737 741
738 742
739 def HelpCommand(command, _options, args, option_parser): 743 def HelpCommand(command, _options, args, option_parser):
740 """Display help for a certain command, or overall help. 744 """Display help for a certain command, or overall help.
741 745
742 Args: 746 Args:
743 command: String indicating the command that was received to trigger 747 command: String indicating the command that was received to trigger
744 this function. 748 this function.
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
805 809
806 def main(): 810 def main():
807 signal.signal(signal.SIGUSR1, DumpThreadStacks) 811 signal.signal(signal.SIGUSR1, DumpThreadStacks)
808 option_parser = command_option_parser.CommandOptionParser( 812 option_parser = command_option_parser.CommandOptionParser(
809 commands_dict=VALID_COMMANDS) 813 commands_dict=VALID_COMMANDS)
810 return command_option_parser.ParseAndExecute(option_parser) 814 return command_option_parser.ParseAndExecute(option_parser)
811 815
812 816
813 if __name__ == '__main__': 817 if __name__ == '__main__':
814 sys.exit(main()) 818 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