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

Side by Side Diff: build/android/buildbot/bb_device_steps.py

Issue 754433003: Update from https://crrev.com/305340 (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 6 years, 1 month 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/buildbot/bb_device_status_check.py ('k') | build/android/buildbot/bb_run_bot.py » ('j') | 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 # Copyright (c) 2013 The Chromium Authors. All rights reserved. 2 # Copyright (c) 2013 The Chromium Authors. All rights reserved.
3 # Use of this source code is governed by a BSD-style license that can be 3 # Use of this source code is governed by a BSD-style license that can be
4 # found in the LICENSE file. 4 # found in the LICENSE file.
5 5
6 import collections 6 import collections
7 import glob 7 import glob
8 import hashlib 8 import hashlib
9 import json 9 import json
10 import os 10 import os
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
74 'AndroidWebViewTest', 74 'AndroidWebViewTest',
75 'webview:android_webview/test/data/device_files'), 75 'webview:android_webview/test/data/device_files'),
76 I('ChromeSyncShell', 76 I('ChromeSyncShell',
77 'ChromeSyncShell.apk', 77 'ChromeSyncShell.apk',
78 'org.chromium.chrome.browser.sync', 78 'org.chromium.chrome.browser.sync',
79 'ChromeSyncShellTest', 79 'ChromeSyncShellTest',
80 None), 80 None),
81 ]) 81 ])
82 82
83 VALID_TESTS = set(['chromedriver', 'chrome_proxy', 'gpu', 83 VALID_TESTS = set(['chromedriver', 'chrome_proxy', 'gpu',
84 'telemetry_perf_unittests', 'ui', 'unit', 'webkit', 84 'telemetry_unittests', 'telemetry_perf_unittests', 'ui',
85 'webkit_layout', 'python_unittests']) 85 'unit', 'webkit', 'webkit_layout', 'python_unittests'])
86 86
87 RunCmd = bb_utils.RunCmd 87 RunCmd = bb_utils.RunCmd
88 88
89 89
90 def _GetRevision(options): 90 def _GetRevision(options):
91 """Get the SVN revision number. 91 """Get the SVN revision number.
92 92
93 Args: 93 Args:
94 options: options object. 94 options: options object.
95 95
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after
183 """ 183 """
184 InstallApk(options, INSTRUMENTATION_TESTS['ChromeShell'], False) 184 InstallApk(options, INSTRUMENTATION_TESTS['ChromeShell'], False)
185 args = ['--browser', 'android-chrome-shell'] 185 args = ['--browser', 'android-chrome-shell']
186 devices = android_commands.GetAttachedDevices() 186 devices = android_commands.GetAttachedDevices()
187 if devices: 187 if devices:
188 args = args + ['--device', devices[0]] 188 args = args + ['--device', devices[0]]
189 bb_annotations.PrintNamedStep('chrome_proxy') 189 bb_annotations.PrintNamedStep('chrome_proxy')
190 RunCmd(['tools/chrome_proxy/run_tests'] + args) 190 RunCmd(['tools/chrome_proxy/run_tests'] + args)
191 191
192 192
193 def RunTelemetryPerfUnitTests(options): 193 def RunTelemetryTests(options, step_name, run_tests_path):
194 """Runs the telemetry perf unit tests. 194 """Runs either telemetry_perf_unittests or telemetry_unittests.
195 195
196 Args: 196 Args:
197 options: options object. 197 options: options object.
198 step_name: either 'telemetry_unittests' or 'telemetry_perf_unittests'
199 run_tests_path: path to run_tests script (tools/perf/run_tests for
200 perf_unittests and tools/telemetry/run_tests for
201 telemetry_unittests)
198 """ 202 """
199 InstallApk(options, INSTRUMENTATION_TESTS['ChromeShell'], False) 203 InstallApk(options, INSTRUMENTATION_TESTS['ChromeShell'], False)
200 args = ['--browser', 'android-chrome-shell'] 204 args = ['--browser', 'android-chrome-shell']
201 devices = android_commands.GetAttachedDevices() 205 devices = android_commands.GetAttachedDevices()
202 if devices: 206 if devices:
203 args = args + ['--device', devices[0]] 207 args = args + ['--device', devices[0]]
204 bb_annotations.PrintNamedStep('telemetry_perf_unittests') 208 bb_annotations.PrintNamedStep(step_name)
205 RunCmd(['tools/perf/run_tests'] + args) 209 RunCmd([run_tests_path] + args)
206 210
207 211
208 def InstallApk(options, test, print_step=False): 212 def InstallApk(options, test, print_step=False):
209 """Install an apk to all phones. 213 """Install an apk to all phones.
210 214
211 Args: 215 Args:
212 options: options object 216 options: options object
213 test: An I_TEST namedtuple 217 test: An I_TEST namedtuple
214 print_step: Print a buildbot step 218 print_step: Print a buildbot step
215 """ 219 """
(...skipping 249 matching lines...) Expand 10 before | Expand all | Expand 10 after
465 469
466 470
467 def RunUnitTests(options): 471 def RunUnitTests(options):
468 suites = gtest_config.STABLE_TEST_SUITES 472 suites = gtest_config.STABLE_TEST_SUITES
469 if options.asan: 473 if options.asan:
470 suites = [s for s in suites 474 suites = [s for s in suites
471 if s not in gtest_config.ASAN_EXCLUDED_TEST_SUITES] 475 if s not in gtest_config.ASAN_EXCLUDED_TEST_SUITES]
472 RunTestSuites(options, suites) 476 RunTestSuites(options, suites)
473 477
474 478
479 def RunTelemetryUnitTests(options):
480 RunTelemetryTests(options, 'telemetry_unittests', 'tools/telemetry/run_tests')
481
482
483 def RunTelemetryPerfUnitTests(options):
484 RunTelemetryTests(options, 'telemetry_perf_unittests', 'tools/perf/run_tests')
485
486
475 def RunInstrumentationTests(options): 487 def RunInstrumentationTests(options):
476 for test in INSTRUMENTATION_TESTS.itervalues(): 488 for test in INSTRUMENTATION_TESTS.itervalues():
477 RunInstrumentationSuite(options, test) 489 RunInstrumentationSuite(options, test)
478 490
479 491
480 def RunWebkitTests(options): 492 def RunWebkitTests(options):
481 RunTestSuites(options, ['webkit_unit_tests', 'blink_heap_unittests']) 493 RunTestSuites(options, ['webkit_unit_tests', 'blink_heap_unittests'])
482 RunWebkitLint() 494 RunWebkitLint()
483 495
484 496
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
522 bb_annotations.PrintNamedStep(suite) 534 bb_annotations.PrintNamedStep(suite)
523 RunCmd(['build/android/test_runner.py', 'python', '-s', suite]) 535 RunCmd(['build/android/test_runner.py', 'python', '-s', suite])
524 536
525 537
526 def GetTestStepCmds(): 538 def GetTestStepCmds():
527 return [ 539 return [
528 ('chromedriver', RunChromeDriverTests), 540 ('chromedriver', RunChromeDriverTests),
529 ('chrome_proxy', RunChromeProxyTests), 541 ('chrome_proxy', RunChromeProxyTests),
530 ('gpu', RunGPUTests), 542 ('gpu', RunGPUTests),
531 ('python_unittests', RunPythonUnitTests), 543 ('python_unittests', RunPythonUnitTests),
544 ('telemetry_unittests', RunTelemetryUnitTests),
532 ('telemetry_perf_unittests', RunTelemetryPerfUnitTests), 545 ('telemetry_perf_unittests', RunTelemetryPerfUnitTests),
533 ('ui', RunInstrumentationTests), 546 ('ui', RunInstrumentationTests),
534 ('unit', RunUnitTests), 547 ('unit', RunUnitTests),
535 ('webkit', RunWebkitTests), 548 ('webkit', RunWebkitTests),
536 ('webkit_layout', RunWebkitLayoutTests), 549 ('webkit_layout', RunWebkitLayoutTests),
537 ] 550 ]
538 551
539 552
540 def MakeGSPath(options, gs_base_dir): 553 def MakeGSPath(options, gs_base_dir):
541 revision = _GetRevision(options) 554 revision = _GetRevision(options)
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
575 '--metadata-dir', os.path.join(CHROME_OUT_DIR, options.target), 588 '--metadata-dir', os.path.join(CHROME_OUT_DIR, options.target),
576 '--cleanup', 589 '--cleanup',
577 '--output', os.path.join(coverage_html, 'index.html')]) 590 '--output', os.path.join(coverage_html, 'index.html')])
578 return coverage_html 591 return coverage_html
579 592
580 593
581 def LogcatDump(options): 594 def LogcatDump(options):
582 # Print logcat, kill logcat monitor 595 # Print logcat, kill logcat monitor
583 bb_annotations.PrintNamedStep('logcat_dump') 596 bb_annotations.PrintNamedStep('logcat_dump')
584 logcat_file = os.path.join(CHROME_OUT_DIR, options.target, 'full_log.txt') 597 logcat_file = os.path.join(CHROME_OUT_DIR, options.target, 'full_log.txt')
585 RunCmd([SrcPath('build' , 'android', 'adb_logcat_printer.py'), 598 RunCmd([SrcPath('build', 'android', 'adb_logcat_printer.py'),
586 '--output-path', logcat_file, LOGCAT_DIR]) 599 '--output-path', logcat_file, LOGCAT_DIR])
587 gs_path = MakeGSPath(options, 'chromium-android/logcat_dumps') 600 gs_path = MakeGSPath(options, 'chromium-android/logcat_dumps')
588 RunCmd([bb_utils.GSUTIL_PATH, 'cp', '-z', 'txt', logcat_file, 601 RunCmd([bb_utils.GSUTIL_PATH, 'cp', '-z', 'txt', logcat_file,
589 'gs://%s' % gs_path]) 602 'gs://%s' % gs_path])
590 bb_annotations.PrintLink('logcat dump', '%s/%s' % (GS_AUTH_URL, gs_path)) 603 bb_annotations.PrintLink('logcat dump', '%s/%s' % (GS_AUTH_URL, gs_path))
591 604
592 605
593 def RunStackToolSteps(options): 606 def RunStackToolSteps(options):
594 """Run stack tool steps. 607 """Run stack tool steps.
595 608
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after
686 parser.add_option( 699 parser.add_option(
687 '--logcat-dump-output', 700 '--logcat-dump-output',
688 help='The logcat dump output will be "tee"-ed into this file') 701 help='The logcat dump output will be "tee"-ed into this file')
689 # During processing perf bisects, a seperate working directory created under 702 # During processing perf bisects, a seperate working directory created under
690 # which builds are produced. Therefore we should look for relevent output 703 # which builds are produced. Therefore we should look for relevent output
691 # file under this directory.(/b/build/slave/<slave_name>/build/bisect/src/out) 704 # file under this directory.(/b/build/slave/<slave_name>/build/bisect/src/out)
692 parser.add_option( 705 parser.add_option(
693 '--chrome-output-dir', 706 '--chrome-output-dir',
694 help='Chrome output directory to be used while bisecting.') 707 help='Chrome output directory to be used while bisecting.')
695 708
696 parser.add_option('--disable-stack-tool', action='store_true', 709 parser.add_option('--disable-stack-tool', action='store_true',
697 help='Do not run stack tool.') 710 help='Do not run stack tool.')
698 parser.add_option('--asan-symbolize', action='store_true', 711 parser.add_option('--asan-symbolize', action='store_true',
699 help='Run stack tool for ASAN') 712 help='Run stack tool for ASAN')
700 parser.add_option('--cleanup', action='store_true', 713 parser.add_option('--cleanup', action='store_true',
701 help='Delete out/<target> directory at the end of the run.') 714 help='Delete out/<target> directory at the end of the run.')
702 return parser 715 return parser
703 716
704 717
705 def main(argv): 718 def main(argv):
706 parser = GetDeviceStepsOptParser() 719 parser = GetDeviceStepsOptParser()
707 options, args = parser.parse_args(argv[1:]) 720 options, args = parser.parse_args(argv[1:])
708 721
(...skipping 14 matching lines...) Expand all
723 736
724 if options.coverage_bucket: 737 if options.coverage_bucket:
725 setattr(options, 'coverage_dir', 738 setattr(options, 'coverage_dir',
726 os.path.join(CHROME_OUT_DIR, options.target, 'coverage')) 739 os.path.join(CHROME_OUT_DIR, options.target, 'coverage'))
727 740
728 MainTestWrapper(options) 741 MainTestWrapper(options)
729 742
730 743
731 if __name__ == '__main__': 744 if __name__ == '__main__':
732 sys.exit(main(sys.argv)) 745 sys.exit(main(sys.argv))
OLDNEW
« no previous file with comments | « build/android/buildbot/bb_device_status_check.py ('k') | build/android/buildbot/bb_run_bot.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698