# 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/package.gni")

# A variant of package() that only contains test executables. The test
# executables are specified as the build products of the deps. A tests_package()
# is always testonly = true. The deps are expected to be executable()s.
template("tests_package") {
  computed_tests = []
  foreach(dep, invoker.deps) {
    computed_tests += [
      {
        name = get_label_info(dep, "name")
      },
    ]
  }

  package(target_name) {
    testonly = true

    forward_variables_from(invoker,
                           [
                             "deps",
                             "meta",
                             "resources",
                           ])
    tests = computed_tests
  }
}
