| # 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("//build/testing/golden_files.gni") |
| import("//sdk/ctf/build/ctf.gni") |
| |
| # Generates a manifest of CTF release artifacts to upload to remote storage. |
| build_api_module("ctf_artifacts") { |
| testonly = true |
| data_keys = [ "ctf_artifacts" ] |
| walk_keys = [ "ctf_barrier" ] |
| deps = [ ":ctf" ] |
| } |
| |
| group("ctf") { |
| testonly = true |
| deps = [ |
| ":check_test_templates", |
| ":golden_files", |
| ":host_test_manifest", |
| ":package_archive_manifest", |
| ":tests", |
| ] |
| } |
| |
| group("tests") { |
| testonly = true |
| deps = [ |
| "build/scripts:tests", |
| "tests", |
| "tests:e2e_tests", |
| ] |
| } |
| |
| generated_file("package_archive_manifest") { |
| testonly = true |
| outputs = [ "$root_out_dir/cts/package_archives.json" ] |
| output_conversion = "json" |
| data_keys = [ "package_archives" ] |
| walk_keys = [ "ctf_barrier" ] |
| deps = [ "tests" ] |
| metadata = { |
| ctf_artifacts = rebase_path(outputs, root_build_dir) |
| } |
| } |
| |
| generated_file("host_test_manifest") { |
| testonly = true |
| outputs = [ "$root_out_dir/cts/host_test_manifest.json" ] |
| output_conversion = "json" |
| data_keys = [ "host_test_manifest" ] |
| deps = [ "tests/examples/host_tool:tests($host_toolchain)" ] |
| |
| metadata = { |
| ctf_artifacts = [ "cts/host_test_manifest.json" ] |
| } |
| } |
| |
| generate_ctf_tests("check_test_templates") { |
| api_level = "_in_development" |
| manifest = "//sdk/ctf/goldens/package_archives.json" |
| use_prebuilts_from_current_build = true |
| deps = [ ":package_archive_manifest" ] |
| } |
| |
| golden_files("golden_files") { |
| testonly = true |
| deps = [ ":package_archive_manifest($target_toolchain)" ] |
| |
| comparisons = [] |
| foreach(dep, deps) { |
| _outputs = [] |
| _outputs = get_target_outputs(dep) |
| _candidate = _outputs[0] |
| comparisons += [ |
| { |
| golden = "//sdk/ctf/goldens/" + get_path_info(_candidate, "file") |
| candidate = _candidate |
| }, |
| ] |
| } |
| } |
| |
| # Tests that we want to run in an FYI builder. |
| # We do not want failures from these tests to break the tree. |
| group("fyi") { |
| testonly = true |
| deps = [] |
| } |