Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(159)

Unified Diff: src/inspector/PRESUBMIT.py

Issue 2354263003: [inspector] add presubmit.py to compile inspector-related scripts (Closed)
Patch Set: addressed comments Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: src/inspector/PRESUBMIT.py
diff --git a/src/inspector/PRESUBMIT.py b/src/inspector/PRESUBMIT.py
new file mode 100644
index 0000000000000000000000000000000000000000..904cd796203484a69b23be4ea00ad2e70f8ff6a5
--- /dev/null
+++ b/src/inspector/PRESUBMIT.py
@@ -0,0 +1,46 @@
+#!/usr/bin/env python
+#
+# Copyright 2016 the V8 project authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+"""v8_inspect presubmit script
+
+See http://dev.chromium.org/developers/how-tos/depottools/presubmit-scripts
+for more details about the presubmit API built into gcl.
+"""
+
+compile_note = "Be sure to run your patch by the compile-scripts.py script prior to committing!"
+
+
+def _CompileScripts(input_api, output_api):
+ local_paths = [f.LocalPath() for f in input_api.AffectedFiles()]
Michael Achenbach 2016/09/28 09:54:04 nit: two space indents.
kozy 2016/09/28 23:38:46 Done.
+ if (any("js_protocol.json" in path for path in local_paths) or
Michael Achenbach 2016/09/28 09:54:04 nit: too much indentation.
kozy 2016/09/28 23:38:46 Done.
+ any("compile-scripts.py" in path for path in local_paths) or
+ any("injected-script-source.js" in path for path in local_paths) or
+ any("debugger_script_externs.js" in path for path in local_paths) or
+ any("injected_script_externs.js" in path for path in local_paths) or
+ any("check_injected_script_source.js" in path for path in local_paths) or
+ any("debugger-script.js" in path for path in local_paths)):
Michael Achenbach 2016/09/28 09:54:04 Can you maybe rewrite this with less duplication?
kozy 2016/09/28 23:38:46 Done.
+ lint_path = input_api.os_path.join(input_api.PresubmitLocalPath(),
Michael Achenbach 2016/09/28 09:54:04 nit: Is lint an appropriate name in this context?
kozy 2016/09/28 23:38:46 Done.
+ "build", "compile-scripts.py")
+ out, _ = input_api.subprocess.Popen(
+ [input_api.python_executable, lint_path],
+ stdout=input_api.subprocess.PIPE,
+ stderr=input_api.subprocess.STDOUT).communicate()
+ if "ERROR" in out or "WARNING" in out:
Michael Achenbach 2016/09/28 09:54:04 How about also checking the return code of the pro
kozy 2016/09/28 23:38:46 Done.
+ return [output_api.PresubmitError(out)]
+ if "NOTE" in out:
+ return [output_api.PresubmitPromptWarning(out + compile_note)]
+ return []
+
+
+def CheckChangeOnUpload(input_api, output_api):
+ results = []
+ results.extend(_CompileScripts(input_api, output_api))
+ return results
+
+
+def CheckChangeOnCommit(input_api, output_api):
+ results = []
Michael Achenbach 2016/09/28 09:54:05 Why not on commit? We'd like the CQ to actually en
dgozman 2016/09/28 13:50:32 AFAIU, commit hooks are run on bots, which require
Michael Achenbach 2016/09/28 14:27:27 Just checked a random bot that runs our presubmit
kozy 2016/09/28 23:38:46 Added for commit.
+ return results

Powered by Google App Engine
This is Rietveld 408576698