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
4 # found in the LICENSE file.
6 """Prepare Performance Test Bisect Tool
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.
13 ./tools/prepare-bisect-perf-regressions.py --working_directory "~/builds"
14 --output_buildbot_annotations
16 Would result in creating ~/builds/bisect and then populating it with a copy of
23 from auto_bisect
import bisect_utils
27 """Does an initial checkout of Chromium then exits."""
29 usage
= ('%prog [options] [-- chromium-options]\n'
30 'Prepares a temporary depot for use on a trybot.')
32 parser
= optparse
.OptionParser(usage
=usage
)
34 parser
.add_option('-w', '--working_directory',
36 help='Path to the working directory where the script will '
37 'do an initial checkout of the chromium depot. The '
38 'files will be placed in a subdirectory "bisect" under '
39 'working_directory and that will be used to perform the '
41 parser
.add_option('--output_buildbot_annotations',
43 help='Add extra annotation output for buildbot.')
44 parser
.add_option('--target_platform',
46 choices
=['chromium', 'cros', 'android'],
48 help='The target platform. Choices are "chromium" (current '
49 'platform), "cros", or "android". If you specify something '
50 'other than "chromium", you must be properly set up to '
51 'build that platform.')
52 opts
, _
= parser
.parse_args()
54 if not opts
.working_directory
:
55 print 'Error: missing required parameter: --working_directory'
60 if not bisect_utils
.CheckIfBisectDepotExists(opts
):
62 bisect_utils
.CreateBisectDirectoryAndSetupDepot(
63 opts
, bisect_utils
.DEFAULT_GCLIENT_CUSTOM_DEPS
)
69 if __name__
== '__main__':