| 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 """Prepare Performance Test Bisect Tool | 6 """Prepare Performance Test Bisect Tool |
| 7 | 7 |
| 8 This script is used by a trybot to create a working directory and sync an | 8 This script is used by a trybot to create a working directory and sync an |
| 9 initial copy of the depot for use in bisecting performance regressions. | 9 initial copy of the depot for use in bisecting performance regressions. |
| 10 | 10 |
| 11 An example usage: | 11 An example usage: |
| 12 | 12 |
| 13 ./tools/prepare-bisect-perf-regressions.py --working_directory "~/builds" | 13 ./tools/prepare-bisect-perf-regressions.py --working_directory "~/builds" |
| 14 --output_buildbot_annotations | 14 --output_buildbot_annotations |
| 15 | 15 |
| 16 Would result in creating ~/builds/bisect and then populating it with a copy of | 16 Would result in creating ~/builds/bisect and then populating it with a copy of |
| 17 the depot. | 17 the depot. |
| 18 | |
| 19 """ | 18 """ |
| 20 | 19 |
| 21 import optparse | 20 import optparse |
| 22 import sys | 21 import sys |
| 23 | 22 |
| 24 from auto_bisect import bisect_utils | 23 from auto_bisect import bisect_utils |
| 25 | 24 |
| 26 | 25 |
| 27 def main(): | 26 def main(): |
| 27 """Does an initial checkout of Chromium then exits.""" |
| 28 | 28 |
| 29 usage = ('%prog [options] [-- chromium-options]\n' | 29 usage = ('%prog [options] [-- chromium-options]\n' |
| 30 'Prepares a temporary depot for use on a trybot.') | 30 'Prepares a temporary depot for use on a trybot.') |
| 31 | 31 |
| 32 parser = optparse.OptionParser(usage=usage) | 32 parser = optparse.OptionParser(usage=usage) |
| 33 | 33 |
| 34 parser.add_option('-w', '--working_directory', | 34 parser.add_option('-w', '--working_directory', |
| 35 type='str', | 35 type='str', |
| 36 help='Path to the working directory where the script will ' | 36 help='Path to the working directory where the script will ' |
| 37 'do an initial checkout of the chromium depot. The ' | 37 'do an initial checkout of the chromium depot. The ' |
| 38 'files will be placed in a subdirectory "bisect" under ' | 38 'files will be placed in a subdirectory "bisect" under ' |
| 39 'working_directory and that will be used to perform the ' | 39 'working_directory and that will be used to perform the ' |
| 40 'bisection.') | 40 'bisection.') |
| 41 parser.add_option('--output_buildbot_annotations', | 41 parser.add_option('--output_buildbot_annotations', |
| 42 action="store_true", | 42 action='store_true', |
| 43 help='Add extra annotation output for buildbot.') | 43 help='Add extra annotation output for buildbot.') |
| 44 parser.add_option('--target_platform', | 44 parser.add_option('--target_platform', |
| 45 type='choice', | 45 type='choice', |
| 46 choices=['chromium', 'cros', 'android'], | 46 choices=['chromium', 'cros', 'android'], |
| 47 default='chromium', | 47 default='chromium', |
| 48 help='The target platform. Choices are "chromium" (current ' | 48 help='The target platform. Choices are "chromium" (current ' |
| 49 'platform), "cros", or "android". If you specify something ' | 49 'platform), "cros", or "android". If you specify something ' |
| 50 'other than "chromium", you must be properly set up to ' | 50 'other than "chromium", you must be properly set up to ' |
| 51 'build that platform.') | 51 'build that platform.') |
| 52 (opts, args) = parser.parse_args() | 52 opts, _ = parser.parse_args() |
| 53 | 53 |
| 54 if not opts.working_directory: | 54 if not opts.working_directory: |
| 55 print 'Error: missing required parameter: --working_directory' | 55 print 'Error: missing required parameter: --working_directory' |
| 56 print | 56 print |
| 57 parser.print_help() | 57 parser.print_help() |
| 58 return 1 | 58 return 1 |
| 59 | 59 |
| 60 if not bisect_utils.CheckIfBisectDepotExists(opts): | 60 if not bisect_utils.CheckIfBisectDepotExists(opts): |
| 61 try: | 61 try: |
| 62 bisect_utils.CreateBisectDirectoryAndSetupDepot(opts, | 62 bisect_utils.CreateBisectDirectoryAndSetupDepot( |
| 63 bisect_utils.DEFAULT_GCLIENT_CUSTOM_DEPS) | 63 opts, bisect_utils.DEFAULT_GCLIENT_CUSTOM_DEPS) |
| 64 except RuntimeError: | 64 except RuntimeError: |
| 65 return 1 | 65 return 1 |
| 66 return 0 | 66 return 0 |
| 67 | 67 |
| 68 | 68 |
| 69 if __name__ == '__main__': | 69 if __name__ == '__main__': |
| 70 sys.exit(main()) | 70 sys.exit(main()) |
| OLD | NEW |