# 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.

# The complete, user-facing CTF build API.
#
# This file is for CTF templates that authors use to write tests.
# Do _not_ import anything from ./internal nor from any of the SDK
# verification helpers like verify_deps_in_sdk.gni.
#
# Please keep the list sorted alphabetically.
import("//sdk/ctf/build/ctf_fuchsia_package.gni")
import("//sdk/ctf/build/ctf_host_test.gni")
import("//sdk/ctf/build/generate_ctf_tests.gni")
RUST_SUBPACKAGES = [
  "//src/sys/test_runners/lib_loader_cache:lib_loader_runner_cache",
  "//src/sys/test_runners/rust:rust-test-runner",
]

GTEST_SUBPACKAGES = [
  "//src/sys/test_runners/gtest:gtest-runner",
  "//src/sys/test_runners/lib_loader_cache:lib_loader_runner_cache",
]
