| # 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("//build/config/build_api_module.gni") |
| import("//sdk/cts/build/cts.gni") |
| |
| build_api_module("cts_artifacts") { |
| # The list of filepaths to include in the CTS archive. |
| # |
| # Paths should be given without a '//' prefix. |
| # |
| # Type: list(string) |
| testonly = true |
| data_keys = [ "cts_artifacts" ] |
| deps = [ |
| ":cts_data_files", |
| "//sdk/cts/tests:prebuilts", |
| ] |
| } |
| |
| action("update_test_manifest") { |
| # When trying to build CTS at ToT and a previous version of CTS, the build fails because both CTS |
| # versions generate packages with identical names. This target appends the CTS version to the |
| # previous CTS version's package names in the test manifest. The previous version's package names |
| # are updated in the in the build via //sdk/cts/build/script/transform_build_gn.py. |
| script = "//sdk/cts/build/scripts/update_test_manifest.py" |
| inputs = [ "data/test_manifest.json" ] |
| outputs = [ "$target_gen_dir/test_manifest.json" ] |
| |
| args = [ |
| "--manifest", |
| rebase_path("data/test_manifest.json"), |
| "--out", |
| rebase_path(outputs[0]), |
| ] |
| |
| if (cts_version != "") { |
| args += [ |
| "--cts_version", |
| cts_version, |
| ] |
| } |
| } |
| |
| cts_artifacts("cts_data_files") { |
| data = [ |
| # TODO(fxb/80700): Combine the ABI and API targets, and add these LICENSE files in //sdk:cts. |
| "../../LICENSE", |
| "../../AUTHORS", |
| "../../PATENTS", |
| ] + get_target_outputs(":update_test_manifest") |
| |
| deps = [ ":update_test_manifest" ] |
| } |
| |
| group("cts_no_e2e") { |
| testonly = true |
| assert_no_deps = e2e_test_libs |
| |
| deps = [ "tests:tests_no_e2e" ] |
| |
| # Prevents us from adding example tests and build scripts to the archive. |
| path = get_label_info(":${target_name}", "dir") |
| is_cts_tot = string_replace(path, "//sdk/cts", "") != path |
| if (is_cts_tot) { |
| deps += [ |
| "build/scripts:tests", |
| "examples:tests", |
| ] |
| } |
| } |
| |
| group("cts") { |
| testonly = true |
| deps = [ |
| ":cts_artifacts", |
| ":cts_no_e2e", |
| "tests", |
| ] |
| |
| # Prevents us from adding example tests and build scripts to the archive. |
| # TODO(jcecil): add tools back once we're able to execute them OOT. |
| path = get_label_info(":${target_name}", "dir") |
| is_cts_tot = string_replace(path, "//sdk/cts", "") != path |
| if (is_cts_tot) { |
| deps += [ "tools" ] |
| } |
| } |
| |
| cts_copy_to_sdk("build") { |
| sources = [ "BUILD.gn" ] |
| testonly = true |
| } |
| |
| sdk_molecule("cts_tests") { |
| category = "cts" |
| deps = [ |
| ":build_sdk", |
| ":cts_deps", |
| "tests:test_sdks", |
| "//sdk/testing/fidl:test_sdks", |
| ] |
| |
| # Prevents us from adding example tests to the archive. |
| path = get_label_info(":${target_name}", "dir") |
| is_cts_tot = string_replace(path, "//sdk/cts", "") != path |
| if (is_cts_tot) { |
| deps += [ "examples:test_sdks" ] |
| } |
| testonly = true |
| } |
| |
| sdk_molecule("cts_deps") { |
| category = "cts" |
| deps = [ "//zircon/public/sysroot/sdk:sysroot_sdk" ] |
| testonly = true |
| } |