| # 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/config/fuchsia/zircon.gni") |
| import("//build/testing/environments.gni") |
| |
| group("src") { |
| testonly = true |
| deps = [ |
| ":tests", |
| "camera", |
| "cast", |
| "chromium", |
| "cobalt", |
| "connectivity", |
| "dart", |
| "developer", |
| "devices", |
| "diagnostics", |
| "experiences", |
| "factory", |
| "flutter", |
| "fonts", |
| "graphics", |
| "identity", |
| "ledger", |
| "lib", |
| "media", |
| "modular", |
| "recovery", |
| "session", |
| "speech", |
| "storage", |
| "sys", |
| "testing", |
| "ui", |
| "virtualization", |
| ] |
| } |
| |
| group("tests") { |
| testonly = true |
| |
| deps = [ |
| ":zircon_host_tests", |
| "bringup:tests", |
| "camera:tests", |
| "chromium:tests", |
| "cobalt:tests", |
| "connectivity:tests", |
| "developer:tests", |
| "devices:tests", |
| "diagnostics:tests", |
| "experiences:tests", |
| "factory:tests", |
| "fonts:tests", |
| "graphics:tests", |
| "identity:tests", |
| "ledger:tests", |
| "lib:tests", |
| "media:tests", |
| "modular:tests", |
| "recovery:tests", |
| "session:tests", |
| "speech:tests", |
| "storage:tests", |
| "sys:tests", |
| "testing:tests", |
| "tests", |
| "ui:tests", |
| "virtualization:tests", |
| ] |
| } |
| |
| # We link host tests from the zircon build into the fuchsia build directory |
| # and synthesize test metadata for them so that these tests may be run as |
| # fuchsia tests. |
| zircon_host_test_deps = [] |
| zircon_test_specs = read_file("$zircon_root_build_dir/tests.json", "json") |
| foreach(entry, zircon_test_specs) { |
| zircon_test = { # Clear from previous iteration. |
| } |
| zircon_test = entry.test |
| is_disabled = defined(zircon_test.disabled) && zircon_test.disabled != "" |
| if (!is_disabled && |
| (zircon_test.os == host_os && zircon_test.cpu == host_cpu)) { |
| # We need a unique target name derived from the test entry, and slashes are |
| # bad. |
| copy_target_name = |
| string_replace("_zircon_host_tests.${zircon_test.path}", "/", "_") |
| copy_deps = [] |
| |
| if (defined(zircon_test.runtime_deps)) { |
| entries = read_file("$zircon_root_build_dir/${zircon_test.runtime_deps}", |
| "json") |
| foreach(entry, entries) { |
| # Same as above. |
| copy_dep_target_name = |
| string_replace("_zircon_host_tests.$entry", "/", "_") |
| |
| copy(copy_dep_target_name) { |
| sources = [ |
| "$zircon_root_build_dir/$entry", |
| ] |
| outputs = [ |
| "$root_build_dir/$entry", |
| ] |
| } |
| copy_deps += [ ":$copy_dep_target_name" ] |
| } |
| |
| runtime_deps_file = "$target_gen_dir/$copy_target_name.deps.json" |
| write_file(runtime_deps_file, entries, "json") |
| } |
| |
| copy(copy_target_name) { |
| testonly = true |
| sources = [ |
| "$zircon_root_build_dir/${zircon_test.path}", |
| ] |
| outputs = [ |
| "$root_build_dir/${zircon_test.path}", |
| ] |
| deps = copy_deps |
| |
| metadata = { |
| tests = [ |
| { |
| test = { |
| forward_variables_from(zircon_test, |
| "*", |
| [ |
| "disabled", |
| "runtime_deps", |
| ]) |
| label = string_replace(label, "//", "//zircon/") |
| if (defined(runtime_deps_file)) { |
| runtime_deps = rebase_path(runtime_deps_file, root_build_dir) |
| } |
| } |
| |
| # We only run host tests from x64 builds to avoid duplication. |
| if (target_cpu == "x64") { |
| environments = [ host_env ] |
| } else { |
| environments = [] |
| } |
| }, |
| ] |
| } |
| } |
| zircon_host_test_deps += [ ":$copy_target_name" ] |
| } |
| } |
| |
| group("zircon_host_tests") { |
| testonly = true |
| deps = zircon_host_test_deps |
| } |
| |
| group("host_tests") { |
| testonly = true |
| public_deps = [ |
| "//src/ledger:host_tests", |
| ] |
| } |