| # Copyright 2017 The Fuchsia Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| # A template for an action that creates a Fuchsia Go test binary. |
| |
| template("go_test") { |
| assert(defined(invoker.gopackage), |
| "gopackage must be defined for $target_name") |
| |
| action(target_name) { |
| testonly = true |
| |
| forward_variables_from(invoker, [ "deps" ]) |
| |
| out_path = "$root_out_dir/$target_name" |
| |
| outputs = [ out_path ] |
| |
| script = rebase_path("//build/go/build.py") |
| depfile_path = "${out_path}.d" |
| depfile = depfile_path |
| console = true # only run one gobuild.py at once |
| |
| args = [ |
| "--fuchsia-root", |
| rebase_path("//."), |
| "--root-out-dir", |
| rebase_path("$root_out_dir"), |
| "--depfile", |
| rebase_path(depfile_path), |
| "--current-cpu", |
| current_cpu, |
| "--current-os", |
| current_os, |
| "--is-test=true", |
| "--binname", |
| target_name, |
| "--go-tool", |
| rebase_path("//buildtools/go"), |
| invoker.gopackage, |
| ] |
| |
| if (!defined(deps)) { |
| deps = [] |
| } |
| |
| deps += [ "//third_party/go:go_runtime" ] |
| } |
| } |