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

Unified Diff: tools/dom/PRESUBMIT.py

Issue 13251005: Put in a teardown for the docs test, fixed dom.py to actually run it correctly, added PRESUMBIT. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 years, 9 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
« no previous file with comments | « no previous file | tools/dom/docs/test/docs_test.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tools/dom/PRESUBMIT.py
diff --git a/tools/dom/PRESUBMIT.py b/tools/dom/PRESUBMIT.py
new file mode 100644
index 0000000000000000000000000000000000000000..84ce19739a2b9d0b05c663c3fbfc3a3decb9178a
--- /dev/null
+++ b/tools/dom/PRESUBMIT.py
@@ -0,0 +1,60 @@
+# Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
+# for details. All rights reserved. Use of this source code is governed by a
+# BSD-style license that can be found in the LICENSE file.
+
+"""
+Presubmit tests for dom tools.
+
+This file is run by git_cl or gcl when an upload or submit happens with
+any files at this level or lower are in the change list.
+
+See: http://www.chromium.org/developers/how-tos/depottools/presubmit-scripts
+"""
+
+
+import os
+
+
+def _AnySdkFiles(input_api):
+ """ Returns true if any of the changed files are in the sdk, meaning we should
+ check that docs.dart was run.
+ """
+ for f in input_api.change.AffectedFiles():
+ if f.LocalPath().find('sdk') > -1:
+ return True
+ return False
+
+
+def CheckChangeOnUpload(input_api, output_api):
+ results = []
+ # TODO(amouravski): uncomment this check once docs.dart is faster.
+ # if _AnySdkFiles(input_api):
+ # results.extend(CheckDocs(input_api, output_api))
+ return results
+
+
+def CheckChangeOnCommit(input_api, output_api):
+ results = []
+ if _AnySdkFiles(input_api):
+ results.extend(CheckDocs(input_api, output_api))
+ return results
+
+
+def CheckDocs(input_api, output_api):
+ """Ensure that documentation has been generated if it needs to be generated.
+
+ Prompts with a warning if documentation needs to be generated.
+ """
+ results = []
+
+ cmd = [os.path.join(input_api.PresubmitLocalPath(), 'dom.py'), 'test_docs']
+
+ try:
+ input_api.subprocess.check_output(cmd,
+ stderr=input_api.subprocess.STDOUT)
+ except (OSError, input_api.subprocess.CalledProcessError), e:
+ results.append(output_api.PresubmitPromptWarning(
+ ('Docs test failed!%s\nYou should run `dom.py docs`' % (
+ e if input_api.verbose else ''))))
+
+ return results
« no previous file with comments | « no previous file | tools/dom/docs/test/docs_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698