Create a wrapper and generator script around CrOS's run_vm_test script.
Example led build of one of the simple chrome bots:
https://ci.chromium.org/swarming/task/3cb56f4f4bb79410?server=chromium-swarm.appspot.com
Bug: 828607
Change-Id: Ifcbe4059544722b48f4ab31fb2e97331b4f976f2
Reviewed-on: https://chromium-review.googlesource.com/994062
Commit-Queue: Ben Pastene <[email protected]>
Reviewed-by: Dirk Pranke <[email protected]>
Cr-Commit-Position: refs/heads/master@{#550845}
diff --git a/testing/test.gni b/testing/test.gni
index 0f92985..0ec196e 100644
--- a/testing/test.gni
+++ b/testing/test.gni
@@ -344,9 +344,48 @@
}
bundle_deps += [ ":$_resources_bundle_data" ]
}
+ } else if (is_chromeos && getenv("SDK_VERSION") != "") {
+ # When the env var SDK_VERSION is set, assume we're in the cros chrome-sdk
+ # building simplechrome.
+
+ import("//build/config/chromeos/rules.gni")
+
+ assert(getenv("SDK_BOARD") != "", "Must specify board to build for.")
+
+ _gen_runner_target = "${target_name}__runner"
+ _runtime_deps_file =
+ "$root_out_dir/gen.runtime/" + get_label_info(target_name, "dir") +
+ "/" + get_label_info(target_name, "name") + ".runtime_deps"
+
+ generate_vm_runner_script(_gen_runner_target) {
+ testonly = true
+ generated_script = "$root_build_dir/bin/run_" + invoker.target_name
+ test_exe = "$root_out_dir/" + get_label_info(invoker.target_name, "name")
+ runtime_deps_file = _runtime_deps_file
+ }
+
+ executable(target_name) {
+ forward_variables_from(invoker, "*")
+ if (!defined(deps)) {
+ deps = []
+ }
+ if (!defined(data)) {
+ data = []
+ }
+
+ testonly = true
+ output_name = target_name
+ write_runtime_deps = _runtime_deps_file
+ data += [ _runtime_deps_file ]
+ deps += [
+ ":$_gen_runner_target",
+ "//build/config:exe_and_shlib_deps",
+ ]
+ }
} else {
executable(target_name) {
deps = []
+
forward_variables_from(invoker, "*")
testonly = true