summaryrefslogtreecommitdiffstats
path: root/tools/checkdeps/PRESUBMIT.py
diff options
context:
space:
mode:
authorjoi@chromium.org <joi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-07-31 10:40:01 +0000
committerjoi@chromium.org <joi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-07-31 10:40:01 +0000
commit0aa12e030026c0f3657744fc828b934f3b700e3f (patch)
tree28f539f827a4995f31383dc23497b229259547ca /tools/checkdeps/PRESUBMIT.py
parenta0a045252015fef2c45deaac991467c0d2bd4576 (diff)
downloadchromium_src-0aa12e030026c0f3657744fc828b934f3b700e3f.zip
chromium_src-0aa12e030026c0f3657744fc828b934f3b700e3f.tar.gz
chromium_src-0aa12e030026c0f3657744fc828b934f3b700e3f.tar.bz2
Implement ability to specify temporarily-allowed dependencies in DEPS
files, and use this ability in a few DEPS files where appropriate. This has no effect on the normal running of checkdeps; "!" dependencies are treated just like "+" dependencies when checkdeps is run on our bots. An upcoming change will use the new checkdeps.CheckAddedIncludes function, and will error out if you add a new include that violates a "-" rule, and show a presubmit warning when you add a new include that violates a "!" rule (the warning will say something like "We are in the process of removing dependencies from this directory to that file, can you avoid adding more?" While I was in there, fixed path handling so that checkdeps will work on case-sensitive platforms with paths that include upper-case characters (e.g. a checkout of Chrome at ~/c/Chrome/src rather than ~/c/chrome/src). Since the pipes.quote method seems unreliable on Windows (it failed on my setup), switched to subprocess.list2cmdline which I believe is stable. Added a small manual testing mode to checkdeps. It currently only verifies the CheckAddedIncludes function. TBR=jam@chromium.org BUG=138280 Review URL: https://chromiumcodereview.appspot.com/10805042 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@149163 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'tools/checkdeps/PRESUBMIT.py')
-rw-r--r--tools/checkdeps/PRESUBMIT.py25
1 files changed, 25 insertions, 0 deletions
diff --git a/tools/checkdeps/PRESUBMIT.py b/tools/checkdeps/PRESUBMIT.py
new file mode 100644
index 0000000..10ef632
--- /dev/null
+++ b/tools/checkdeps/PRESUBMIT.py
@@ -0,0 +1,25 @@
+# Copyright (c) 2012 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.
+
+"""Presubmit script for checkdeps tool.
+"""
+
+
+def CheckChange(input_api, output_api):
+ results = []
+ results.extend(input_api.canned_checks.RunUnitTests(
+ input_api, output_api,
+ [input_api.os_path.join(input_api.PresubmitLocalPath(),
+ 'checkdeps_test.py')]))
+ return results
+
+
+# Mandatory entrypoint.
+def CheckChangeOnUpload(input_api, output_api):
+ return CheckChange(input_api, output_api)
+
+
+# Mandatory entrypoint.
+def CheckChangeOnCommit(input_api, output_api):
+ return CheckChange(input_api, output_api)