blob: cec995591ec02e2ed884ca7e5d6ed0c5d4ec4ee0 [file] [log] [blame]
# Copyright 2019 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/packages/prebuilt_package.gni")
import("//build/testing/test_spec.gni")
# Describes a prebuilt package of tests.
#
# Parameters
#
# archive (required)
# [string] Path to archive containing a package.
#
# package (required)
# [string] Name of the package.
#
# component_name (required)
# [string] Component name to test.
#
# runner (required)
# [string] The runner used to execute the test(run|run_test_component).
#
# environments (optional, default: [ { dimensions = { device_type = "QEMU" } } ])
# [list of scopes] Device environments in which the test should run.
#
# Environment scope is defined in //build/testing/test_spec.gni
#
# deps (optional)
# [list of labels]: List of labels that the test depends on.
#
template("prebuilt_test_package") {
assert(defined(invoker.archive), "archive must be defined.")
assert(defined(invoker.package), "package must be defined.")
assert(defined(invoker.component_name), "component_name must be defined.")
assert(defined(invoker.runner), "runner must be defined.")
_spec_name = "${target_name}_${invoker.component_name}_spec"
test_spec(_spec_name) {
name = "${target_name}"
# "location" is intentionally empty since it's not used for running prebuilt package tests
location = ""
command = [
"${invoker.runner}",
"fuchsia-pkg://fuchsia.com/${invoker.package}#meta/${invoker.component_name}.cmx",
]
forward_variables_from(invoker, [ "deps" ])
forward_variables_from(invoker, [ "environments" ])
}
prebuilt_package(invoker.package) {
archive = invoker.archive
deps = [
":${_spec_name}",
]
}
}