blob: 2a4b35e8a20ab75853b93177dba1f01dc5572d20 [file] [log] [blame]
# Copyright 2018 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.
import("//build/testing/test_spec.gni")
# This declares a test executable.
#
# The parameters are precisely those of an `executable`, along with
#
# 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("test") {
if (is_linux || is_mac) {
test_spec("${target_name}_spec") {
testonly = true
name = invoker.target_name
location = "$root_out_dir/${invoker.target_name}"
deps = []
if (defined(invoker.deps)) {
deps += invoker.deps
}
if (defined(invoker.data_deps)) {
deps += invoker.data_deps
}
forward_variables_from(invoker, [ "environments" ])
}
} else {
if (defined(invoker.environments)) {
not_needed(invoker, [ "environments" ])
}
}
executable(target_name) {
forward_variables_from(invoker, "*")
testonly = true
if (is_linux || is_mac) {
deps += [ ":${target_name}_spec" ]
}
}
}
set_defaults("test") {
configs = default_executable_configs
}