OLD | NEW |
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 631 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
642 parser.add_option( | 642 parser.add_option( |
643 '--flakiness-server', | 643 '--flakiness-server', |
644 help=('The flakiness dashboard server to which the results should be ' | 644 help=('The flakiness dashboard server to which the results should be ' |
645 'uploaded.')) | 645 'uploaded.')) |
646 parser.add_option( | 646 parser.add_option( |
647 '--auto-reconnect', action='store_true', | 647 '--auto-reconnect', action='store_true', |
648 help='Push script to device which restarts adbd on disconnections.') | 648 help='Push script to device which restarts adbd on disconnections.') |
649 parser.add_option( | 649 parser.add_option( |
650 '--logcat-dump-output', | 650 '--logcat-dump-output', |
651 help='The logcat dump output will be "tee"-ed into this file') | 651 help='The logcat dump output will be "tee"-ed into this file') |
| 652 # During processing perf bisects, a seperate working directory created under |
| 653 # which builds are produced. Therefore we should look for relevent output |
| 654 # file under this directory.(/b/build/slave/<slave_name>/build/bisect/src/out) |
| 655 parser.add_option( |
| 656 '--chrome-output-dir', |
| 657 help='Chrome output directory to be used while bisecting.') |
| 658 |
652 parser.add_option('--disable-stack-tool', action='store_true', | 659 parser.add_option('--disable-stack-tool', action='store_true', |
653 help='Do not run stack tool.') | 660 help='Do not run stack tool.') |
654 parser.add_option('--asan-symbolize', action='store_true', | 661 parser.add_option('--asan-symbolize', action='store_true', |
655 help='Run stack tool for ASAN') | 662 help='Run stack tool for ASAN') |
656 return parser | 663 return parser |
657 | 664 |
658 | 665 |
659 def main(argv): | 666 def main(argv): |
660 parser = GetDeviceStepsOptParser() | 667 parser = GetDeviceStepsOptParser() |
661 options, args = parser.parse_args(argv[1:]) | 668 options, args = parser.parse_args(argv[1:]) |
662 | 669 |
663 if args: | 670 if args: |
664 return sys.exit('Unused args %s' % args) | 671 return sys.exit('Unused args %s' % args) |
665 | 672 |
666 unknown_tests = set(options.test_filter) - VALID_TESTS | 673 unknown_tests = set(options.test_filter) - VALID_TESTS |
667 if unknown_tests: | 674 if unknown_tests: |
668 return sys.exit('Unknown tests %s' % list(unknown_tests)) | 675 return sys.exit('Unknown tests %s' % list(unknown_tests)) |
669 | 676 |
670 setattr(options, 'target', options.factory_properties.get('target', 'Debug')) | 677 setattr(options, 'target', options.factory_properties.get('target', 'Debug')) |
| 678 |
| 679 if options.chrome_output_dir: |
| 680 global CHROME_OUT_DIR |
| 681 global LOGCAT_DIR |
| 682 CHROME_OUT_DIR = options.chrome_output_dir |
| 683 LOGCAT_DIR = os.path.join(CHROME_OUT_DIR, 'logcat') |
| 684 |
671 if options.coverage_bucket: | 685 if options.coverage_bucket: |
672 setattr(options, 'coverage_dir', | 686 setattr(options, 'coverage_dir', |
673 os.path.join(CHROME_OUT_DIR, options.target, 'coverage')) | 687 os.path.join(CHROME_OUT_DIR, options.target, 'coverage')) |
674 | 688 |
675 MainTestWrapper(options) | 689 MainTestWrapper(options) |
676 | 690 |
677 | 691 |
678 if __name__ == '__main__': | 692 if __name__ == '__main__': |
679 sys.exit(main(sys.argv)) | 693 sys.exit(main(sys.argv)) |
OLD | NEW |