summaryrefslogtreecommitdiffstats
path: root/testing/scripts/gn_check.py
diff options
context:
space:
mode:
authordpranke <dpranke@chromium.org>2015-05-20 17:37:15 -0700
committerCommit bot <commit-bot@chromium.org>2015-05-21 00:37:21 +0000
commit7edb74bac6fc21fa06c78b9596a41322a4e6c078 (patch)
tree64b524fba2075628045da6d4a247e283221166d7 /testing/scripts/gn_check.py
parent7c43b0968c2063ddeb6fdbdddb52dce9209f31bb (diff)
downloadchromium_src-7edb74bac6fc21fa06c78b9596a41322a4e6c078.zip
chromium_src-7edb74bac6fc21fa06c78b9596a41322a4e6c078.tar.gz
chromium_src-7edb74bac6fc21fa06c78b9596a41322a4e6c078.tar.bz2
Add script tests for `gn check`, `gyp_flag_compare` to GN bot configs.
This adds the tests on the GN bots that are currently configured recipe-side in the chromium_gn recipe to //testing/scripts, so that they can be configured repo-side and we will need to modify the recipe less often. R=phajdan.jr@chromium.org BUG=481693 Review URL: https://codereview.chromium.org/1145513005 Cr-Commit-Position: refs/heads/master@{#330862}
Diffstat (limited to 'testing/scripts/gn_check.py')
-rwxr-xr-xtesting/scripts/gn_check.py57
1 files changed, 57 insertions, 0 deletions
diff --git a/testing/scripts/gn_check.py b/testing/scripts/gn_check.py
new file mode 100755
index 0000000..5feb166
--- /dev/null
+++ b/testing/scripts/gn_check.py
@@ -0,0 +1,57 @@
+#!/usr/bin/env python
+# Copyright 2015 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.
+
+"""Wrap `gn check` for the bots.
+
+This script wraps the `gn check` command in the facade needed for the
+'ScriptTest' step class of the chromium recipe_module
+(see scripts/slave/recipe_modules/chromium/steps.py in the build repo).
+
+The script takes no arguments.
+"""
+
+
+import json
+import os
+import sys
+
+
+import common
+
+
+def main_run(args):
+ if sys.platform == 'win32':
+ exe = os.path.join(common.SRC_DIR, 'buildtools', 'win', 'gn.exe')
+ elif sys.platform == 'mac':
+ exe = os.path.join(common.SRC_DIR, 'buildtools', 'mac', 'gn')
+ else:
+ exe = os.path.join(common.SRC_DIR, 'buildtools', 'linux64', 'gn')
+
+ rc = common.run_command([
+ exe,
+ '--root=%s' % common.SRC_DIR,
+ 'check',
+ '//out/%s' % args.build_config_fs,
+ ])
+
+ # TODO(dpranke): Figure out how to get a list of failures out of gn check?
+ json.dump({
+ 'valid': True,
+ 'failures': ['check_failed'] if rc else [],
+ }, args.output)
+
+ return rc
+
+
+def main_compile_targets(args):
+ json.dump([], args.output)
+
+
+if __name__ == '__main__':
+ funcs = {
+ 'run': main_run,
+ 'compile_targets': main_compile_targets,
+ }
+ sys.exit(common.run_script(sys.argv[1:], funcs))