blob: f765346b22f073a76428b0d6186bd17f65b4d981 [file] [log] [blame]
# Copyright 2020 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("test_spec.gni")
# Declares a test meant to be run out of a ZBI bootfs partition.
#
# This template adds the metadata necessary for test runners to handle a test
# hosted in a ZBI.
#
# Example
# ```
# test("foo") {
# output_name = "bar"
# . . .
# }
#
# bootfs_test("test") {
# name = "bar"
# deps = [ ":foo" ]
# }
# ```
#
# Parameters
#
# name
# Required: Name of the test binary
# Type: string
#
# deps
# Required: Singleton list containing the label of the test target.
# Type: list(label)
#
# environments
# See //build/testing/test_spec.gni.
template("bootfs_test") {
assert(defined(invoker.name), "Need to specify a test name")
assert(defined(invoker.deps), "Need to specify deps")
_deps = invoker.deps
assert(_deps != [], "Deps should contain exactly one label")
_label = _deps[0]
assert(_deps == [ _label ], "Deps should contain exactly one label")
test_spec(target_name) {
target = get_label_info(_label, "label_with_toolchain")
deps = _deps
path = "/boot/test/${invoker.name}"
forward_variables_from(invoker, [ "environments" ])
build_rule = "bootfs_test"
}
}