blob: e5051419cedf5d1129f9dde30f6b37b5926bbf71 [file] [log] [blame]
# Copyright 2022 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/components.gni")
# Defines a Fuchsia component that contains a host test.
#
# This template expects to find a CML file named "meta/${test_name}.cml" where
# "test_name" is the name of this target. This file is used as the component
# manifest for the test.
#
# Parameters
#
# test_label (required)
# The label of the host test. The template will add the "($host_toolchain)"
# parameter.
# Type: GN label
#
# The remaining parameters are forwarded to the fuchsia_component template.
template("starnix_host_test_component") {
assert(host_os == "linux")
assert(defined(invoker.test_label))
test_name = target_name
test_label = "${invoker.test_label}($host_toolchain)"
resource("${test_name}_resource") {
testonly = true
out_dir = get_label_info(test_label, "root_out_dir")
sources = [ "${out_dir}/${test_name}" ]
outputs = [ "data/tests/${test_name}" ]
deps = [ test_label ]
}
fuchsia_component(test_name) {
forward_variables_from(invoker, "*", [ "test_label" ])
testonly = true
check_references = false
manifest = "meta/${test_name}.cml"
if (!defined(deps)) {
deps = []
}
deps += [ ":${test_name}_resource" ]
}
}