diff options
author | simonhatch@chromium.org <simonhatch@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-02-21 17:20:04 +0000 |
---|---|---|
committer | simonhatch@chromium.org <simonhatch@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-02-21 17:20:04 +0000 |
commit | 8997afddabf0efa3e867d50aaefa2b5f87eed08b (patch) | |
tree | 95df1961cbf6447d05f80d86a2289e301cbe0a1e /tools/PRESUBMIT.py | |
parent | ca2b80e9a1b578715eb85426585b7609c153e95f (diff) | |
download | chromium_src-8997afddabf0efa3e867d50aaefa2b5f87eed08b.zip chromium_src-8997afddabf0efa3e867d50aaefa2b5f87eed08b.tar.gz chromium_src-8997afddabf0efa3e867d50aaefa2b5f87eed08b.tar.bz2 |
Added separate checkout and config file generation to bisect script.
BUG=
NOTRY=true
Review URL: https://chromiumcodereview.appspot.com/12261026
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@183827 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'tools/PRESUBMIT.py')
-rw-r--r-- | tools/PRESUBMIT.py | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/tools/PRESUBMIT.py b/tools/PRESUBMIT.py new file mode 100644 index 0000000..0157231 --- /dev/null +++ b/tools/PRESUBMIT.py @@ -0,0 +1,48 @@ +# Copyright (c) 2013 The Chromium Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +"""Top-level presubmit script for bisect trybot. + +See http://dev.chromium.org/developers/how-tos/depottools/presubmit-scripts for +details on the presubmit API built into gcl. +""" + +import imp + +def _ExamineBisectConfigFile(input_api, output_api): + for f in input_api.AffectedFiles(): + if not f.LocalPath().endswith('run-bisect-perf-regression.cfg'): + continue + + try: + cfg_file = imp.load_source('config', 'run-bisect-perf-regression.cfg') + + for k, v in cfg_file.config.iteritems(): + if v: + return f.LocalPath() + except (IOError, AttributeError, TypeError): + return f.LocalPath() + + return None + +def _CheckNoChangesToBisectConfigFile(input_api, output_api): + results = _ExamineBisectConfigFile(input_api, output_api) + if results: + return [output_api.PresubmitError( + 'The bisection config file should only contain a config dict with ' + 'empty fields. Changes to this file should never be submitted.', + items=[results])] + + return [] + +def CommonChecks(input_api, output_api): + results = [] + results.extend(_CheckNoChangesToBisectConfigFile(input_api, output_api)) + return results + +def CheckChangeOnUpload(input_api, output_api): + return CommonChecks(input_api, output_api) + +def CheckChangeOnCommit(input_api, output_api): + return CommonChecks(input_api, output_api) |