summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--testing/buildbot/chromium.linux.json19
-rw-r--r--testing/buildbot/tryserver.chromium.linux.json21
-rwxr-xr-xtesting/scripts/gn_check.py57
-rwxr-xr-xtesting/scripts/gyp_flag_compare.py49
4 files changed, 145 insertions, 1 deletions
diff --git a/testing/buildbot/chromium.linux.json b/testing/buildbot/chromium.linux.json
index f0cfa3b..cadc084 100644
--- a/testing/buildbot/chromium.linux.json
+++ b/testing/buildbot/chromium.linux.json
@@ -3,6 +3,12 @@
"additional_compile_targets": [
"chrome_shell_apk",
"mandoline:all"
+ ],
+ "scripts": [
+ {
+ "name": "gn_check",
+ "script": "gn_check.py"
+ }
]
},
"Android GN (dbg)": {
@@ -364,6 +370,19 @@
{
"test": "wm_unittests"
}
+ ],
+ "scripts": [
+ {
+ "name": "gn_check",
+ "script": "gn_check.py"
+ },
+ {
+ "args": [
+ "chrome"
+ ],
+ "name": "gyp_flag_compare",
+ "script": "gyp_flag_compare.py"
+ }
]
},
"Linux GN (dbg)": {
diff --git a/testing/buildbot/tryserver.chromium.linux.json b/testing/buildbot/tryserver.chromium.linux.json
index 767c5b4..0a6c686 100644
--- a/testing/buildbot/tryserver.chromium.linux.json
+++ b/testing/buildbot/tryserver.chromium.linux.json
@@ -11,7 +11,13 @@
"chrome_shell_apk",
"mandoline:all"
],
- "gtest_tests": []
+ "gtest_tests": [],
+ "scripts": [
+ {
+ "name": "gn_check",
+ "script": "gn_check.py"
+ }
+ ]
},
"linux_chromium_gn_chromeos_dbg": {
"additional_compile_targets": [
@@ -352,6 +358,19 @@
{
"test": "wm_unittests"
}
+ ],
+ "scripts": [
+ {
+ "name": "gn_check",
+ "script": "gn_check.py"
+ },
+ {
+ "args": [
+ "chrome"
+ ],
+ "name": "gyp_flag_compare",
+ "script": "gyp_flag_compare.py"
+ }
]
}
}
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))
diff --git a/testing/scripts/gyp_flag_compare.py b/testing/scripts/gyp_flag_compare.py
new file mode 100755
index 0000000..0b777d9
--- /dev/null
+++ b/testing/scripts/gyp_flag_compare.py
@@ -0,0 +1,49 @@
+#!/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 //tools/gn/bin/gyp_flag_compare.py for the bots.
+
+This script wraps the GN test script 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 N arguments, for the N targets to compare flags for.
+"""
+
+import json
+import os
+import sys
+
+
+import common
+
+
+def main_run(args):
+ rc = common.run_command([sys.executable,
+ os.path.join(common.SRC_DIR,
+ 'tools', 'gn', 'bin',
+ 'gyp_flag_compare.py')] + args.args)
+
+ # TODO(dpranke): Figure out how to get a list of failures out of
+ # gyp_flag_compare?
+ json.dump({
+ 'valid': True,
+ 'failures': ['compare_failed'] if rc else [],
+ }, args.output)
+
+ return rc
+
+
+def main_compile_targets(args):
+ # TODO(dpranke): Figure out how to get args.args plumbed through to here.
+ 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))