# 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/components.gni")
import("//build/rust/rustc_binary.gni")
import("//build/rust/rustc_library.gni")

rustc_library("test_lib") {
  testonly = true
  name = "test_manager_test_lib"
  with_unit_tests = true
  edition = "2024"
  source_root = "src/test_lib.rs"

  deps = [
    "//sdk/fidl/fuchsia.component:fuchsia.component_rust",
    "//sdk/fidl/fuchsia.component.decl:fuchsia.component.decl_rust",
    "//sdk/fidl/fuchsia.io:fuchsia.io_rust",
    "//sdk/fidl/fuchsia.test.manager:fuchsia.test.manager_rust",
    "//src/lib/fidl/rust/fidl",
    "//src/lib/fuchsia-async",
    "//src/lib/fuchsia-fs",
    "//src/lib/test_diagnostics/rust:test_diagnostics",
    "//src/sys/lib/moniker",
    "//third_party/rust_crates:anyhow",
    "//third_party/rust_crates:futures",
    "//third_party/rust_crates:linked-hash-map",
    "//third_party/rust_crates:log",
    "//third_party/rust_crates:thiserror",
  ]

  sources = [ "src/test_lib.rs" ]
}

rustc_library("lib") {
  testonly = true
  name = "test_manager_lib"
  with_unit_tests = true
  edition = "2024"

  # Only for internal use.
  visibility = [
    ":*",
    "tests/*",
  ]

  deps = [
    "fidl/fuchsia.test.debug:fuchsia.test.debug_rust",
    "//sdk/fidl/fuchsia.component:fuchsia.component_rust",
    "//sdk/fidl/fuchsia.component.decl:fuchsia.component.decl_rust",
    "//sdk/fidl/fuchsia.component.resolution:fuchsia.component.resolution_rust",
    "//sdk/fidl/fuchsia.component.test:fuchsia.component.test_rust",
    "//sdk/fidl/fuchsia.data:fuchsia.data_rust",
    "//sdk/fidl/fuchsia.debugdata:fuchsia.debugdata_rust",
    "//sdk/fidl/fuchsia.debugger:fuchsia.debugger_rust",
    "//sdk/fidl/fuchsia.diagnostics:fuchsia.diagnostics_rust",
    "//sdk/fidl/fuchsia.diagnostics.host:fuchsia.diagnostics.host_rust",
    "//sdk/fidl/fuchsia.io:fuchsia.io_rust",
    "//sdk/fidl/fuchsia.logger:fuchsia.logger_rust",
    "//sdk/fidl/fuchsia.pkg:fuchsia.pkg_rust",
    "//sdk/fidl/fuchsia.sys2:fuchsia.sys2_rust",
    "//sdk/fidl/fuchsia.test:fuchsia.test_rust",
    "//sdk/fidl/fuchsia.test.manager:fuchsia.test.manager_rust",
    "//sdk/fidl/fuchsia.tracing.provider:fuchsia.tracing.provider_rust",
    "//sdk/rust/zx",
    "//src/lib/async-utils",
    "//src/lib/diagnostics/inspect/rust",
    "//src/lib/diagnostics/log/rust",
    "//src/lib/fidl/rust/fidl",
    "//src/lib/fuchsia-async",
    "//src/lib/fuchsia-component",
    "//src/lib/fuchsia-component-test",
    "//src/lib/fuchsia-fs",
    "//src/lib/fuchsia-sync",
    "//src/lib/fuchsia-url",
    "//src/lib/test_diagnostics/rust:test_diagnostics",
    "//src/sys/lib/cm_rust",
    "//src/sys/lib/cm_types",
    "//src/sys/lib/mem_util",
    "//src/sys/lib/moniker",
    "//third_party/rust_crates:anyhow",
    "//third_party/rust_crates:async-trait",
    "//third_party/rust_crates:futures",
    "//third_party/rust_crates:glob",
    "//third_party/rust_crates:itertools",
    "//third_party/rust_crates:log",
    "//third_party/rust_crates:tempfile",
    "//third_party/rust_crates:thiserror",
  ]
  test_deps = [
    ":test_lib",
    "//src/lib/diagnostics/inspect/rust",
    "//src/lib/diagnostics/testing/diagnostics-assertions/rust:diagnostics-assertions",
    "//src/lib/fuchsia",
    "//src/lib/test_diagnostics/rust:test_diagnostics",
    "//third_party/rust_crates:assert_matches",
    "//third_party/rust_crates:maplit",
    "//third_party/rust_crates:test-case",
  ]

  sources = [
    "src/above_root_capabilities.rs",
    "src/constants.rs",
    "src/debug_agent.rs",
    "src/debug_data_processor.rs",
    "src/debug_data_server.rs",
    "src/diagnostics.rs",
    "src/error.rs",
    "src/facet.rs",
    "src/lib.rs",
    "src/offers.rs",
    "src/resolver.rs",
    "src/run_events.rs",
    "src/running_suite.rs",
    "src/scheduler.rs",
    "src/self_diagnostics.rs",
    "src/test_manager_server.rs",
    "src/test_suite.rs",
    "src/utilities.rs",
  ]
}

rustc_binary("bin") {
  testonly = true
  name = "test_manager"
  with_unit_tests = true
  edition = "2024"

  configs += [ "//build/config/rust:bootfs" ]

  deps = [
    ":lib",
    "//sdk/fidl/fuchsia.component.resolution:fuchsia.component.resolution_rust",
    "//sdk/fidl/fuchsia.pkg:fuchsia.pkg_rust",
    "//sdk/fidl/fuchsia.process.lifecycle:fuchsia.process.lifecycle_rust",
    "//src/lib/diagnostics/inspect/runtime/rust",
    "//src/lib/diagnostics/inspect/rust",
    "//src/lib/fidl/rust/fidl",
    "//src/lib/fuchsia",
    "//src/lib/fuchsia-async",
    "//src/lib/fuchsia-component",
    "//src/lib/fuchsia-runtime",
    "//third_party/rust_crates:anyhow",
    "//third_party/rust_crates:futures",
    "//third_party/rust_crates:futures-util",
    "//third_party/rust_crates:log",
  ]

  sources = [ "src/main.rs" ]
}

rustc_binary("fxfs_backed_data_for_tests_bin") {
  testonly = true
  name = "fxfs_backed_data_for_tests"
  edition = "2024"
  source_root = "src/fxfs_backed_data.rs"

  deps = [
    "//sdk/fidl/fuchsia.io:fuchsia.io_rust",
    "//src/lib/fuchsia",
    "//src/lib/fuchsia-component",
    "//src/lib/fuchsia-fs",
    "//third_party/rust_crates:anyhow",
    "//third_party/rust_crates:futures",
  ]

  sources = [ source_root ]
}

fuchsia_component("test_manager_cmp") {
  testonly = true
  component_name = "test_manager"
  deps = [ ":bin" ]
  manifest = "meta/test_manager.cml"

  # Don't package this component as it as relative dependency, instead
  # subpackage test_manager_pkg in your package to use test manager.
  visibility = [ ":*" ]
}

fuchsia_component("test_manager_for_bootstrap_cmp") {
  testonly = true
  component_name = "test_manager_for_bootstrap"
  deps = [ ":bin" ]
  manifest = "meta/test_manager_for_bootstrap.cml"

  # Don't package this component in other packages.
  visibility = [ ":*" ]
}

fuchsia_component("fxfs_backed_data_for_tests_cmp") {
  testonly = true
  component_name = "fxfs_backed_data_for_tests"
  deps = [ ":fxfs_backed_data_for_tests_bin" ]
  manifest = "meta/fxfs_backed_data_for_tests.cml"
}

# Enabling a soft-transition, rename to 'test_manager' when complete.
# TODO(122864) Remove transitional labels
fuchsia_package("pkg") {
  testonly = true
  package_name = "test_manager"
  visibility = [
    "//bundles/assembly/*",
    "//src/connectivity/network/testing/netemul/runner/tests/*",
    "//src/lib/testing/sharding/tests/*",
    "//src/sys/run_test_suite/tests/*",
    "//src/sys/test_manager/tests/*",
    "//src/sys/test_runners/*",
  ]
  deps = [
    ":fxfs_backed_data_for_tests_cmp",
    ":test_manager_cmp",
    "debug_data_processor",
    "//src/diagnostics/archivist:archivist-for-embedding-bundle",
    "//src/storage/memfs:memfs_component",
    "//src/sys/early_boot_instrumentation:early-boot-instrumentation",
  ]

  subpackages = [
    "//src/connectivity/network/testing/netemul/runner:package",
    "//src/sys/test_runners/elf:elf-test-ambient-exec-runner",
    "//src/sys/test_runners/elf:elf-test-create-raw-processes-ambient-exec-runner",
    "//src/sys/test_runners/elf:elf-test-create-raw-processes-runner",
    "//src/sys/test_runners/elf:elf-test-runner",
    "//src/sys/test_runners/fuzz:fuzz-test-runner",
    "//src/sys/test_runners/gotests:go-test-runner",
    "//src/sys/test_runners/gtest:gtest-runner",
    "//src/sys/test_runners/gtest:gtest-create-raw-processes-runner",
    "//src/sys/test_runners/gtest:zxtest-runner",
    "//src/sys/test_runners/gunit:gunit-runner",
    "//src/sys/test_runners/inspect:inspect-test-runner",
    "//src/sys/test_runners/lib_loader_cache:lib_loader_runner_cache",
    "//src/sys/test_runners/rust:rust-test-create-raw-processes-runner",
    "//src/sys/test_runners/rust:rust-test-next-vdso-runner",
    "//src/sys/test_runners/rust:rust-test-runner",
    "//src/sys/test_runners/starnix:starnix-test-runners",
    "//src/sys/test_runners/stress_test:stress-test-runner",
  ]
}

fuchsia_package("pkg_for_bootstrap") {
  testonly = true
  package_name = "test_manager"
  visibility = [
    ":*",
    "//bundles/assembly:*",
  ]
  deps = [
    ":test_manager_for_bootstrap_cmp",
    "debug_data_processor",
    "//src/diagnostics/archivist:archivist-for-embedding-bundle",
    "//src/lib/fuchsia-component-test/realm_builder_server:realm_builder_server_component",
    "//src/storage/memfs:memfs_component",
    "//src/sys/test_runners/elf:elf-test-runner-component",
    "//src/sys/test_runners/gtest:gtest-runner-component",
    "//src/sys/test_runners/lib_loader_cache:lib_loader_runner_cache_cmp",
    "//src/sys/testing:bootstrap_test_realm",
  ]
}

fuchsia_unittest_package("test-manager-unittests") {
  manifest = "meta/test_manager_lib_test.cml"
  deps = [ ":lib_test" ]
}

group("tests") {
  testonly = true
  deps = [
    ":test-manager-unittests",
    "debug_data_processor:tests",
    "tests",
  ]
}
