blob: 4df777ae6ca23764a0e6ad198f55743a03092d7b [file] [log] [blame]
# 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.
import("//build/go/go_build.gni")
# Parameters: same as go_build, along with
#
# gopackages
# Required: The go packages containing the tests to be run.
# Type: list of strings.
#
# args
# Optional: additional arguments needed when invoking the test.
# Type: list of strings.
#
# disabled
# Optional: whether the test is disabled.
# Type: bool
# Default: false
#
# environments
# Optional: what environments this test should target. Only used here
# for linux and mac tests, with a default value of a general linux/mac
# environment (as a function of $current_os).
# See //build/testing/test_spec.gni for more details.
#
template("go_test") {
forward_variables_from(invoker, [ "visibility" ])
_main_target_name = target_name
output_name = "tests/go/$target_name"
if (defined(invoker.output_name)) {
output_name = "tests/go/${invoker.output_name}"
}
_output_path = "${root_out_dir}/${output_name}"
go_build(_main_target_name) {
test = true
output_name = output_name
forward_variables_from(invoker,
"*",
[
"disabled",
"environments",
"output_name",
])
}
_outputs = get_target_outputs(":$_main_target_name")
assert(_outputs[0] == _output_path)
}