blob: 3497e6e0cf41f798faef6d821fc91d88797490f7 [file] [log] [blame] [edit]
# 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_test.gni")
rustc_test("test_manager_test_bin") {
edition = "2021"
name = "test_manager_test"
source_root = "src/tests.rs"
deps = [
"//sdk/fidl/fuchsia.test.manager:fuchsia.test.manager_rust",
"//src/lib/diagnostics/selectors",
"//src/lib/fidl/rust/fidl",
"//src/lib/fuchsia",
"//src/lib/fuchsia-async",
"//src/lib/fuchsia-component",
"//src/lib/test_diagnostics/rust:test_diagnostics",
"//src/sys/test_manager:test_lib",
"//third_party/rust_crates:anyhow",
"//third_party/rust_crates:futures",
"//third_party/rust_crates:pretty_assertions",
]
sources = [ "src/tests.rs" ]
inputs = [
"//src/sys/test_runners/gtest/test_data/sample_tests_golden_events.rsf",
]
}
rustc_test("test_manager_stress_test_bin") {
edition = "2021"
name = "test_manager_stress_test"
source_root = "src/stress_tests.rs"
deps = [
"//sdk/fidl/fuchsia.test.manager:fuchsia.test.manager_rust",
"//src/lib/fuchsia",
"//src/lib/fuchsia-component",
"//src/lib/test_diagnostics/rust:test_diagnostics",
"//src/sys/test_manager:test_lib",
"//third_party/rust_crates:futures",
"//third_party/rust_crates:pretty_assertions",
]
sources = [ "src/stress_tests.rs" ]
}
rustc_test("test_manager_specified_realm_bin") {
edition = "2021"
name = "test_manager_specified_realm_test"
source_root = "src/specified_realm_test.rs"
deps = [
"//sdk/fidl/fuchsia.component:fuchsia.component_rust",
"//sdk/fidl/fuchsia.component.decl:fuchsia.component.decl_rust",
"//sdk/fidl/fuchsia.test.manager:fuchsia.test.manager_rust",
"//src/lib/diagnostics/selectors",
"//src/lib/fidl/rust/fidl",
"//src/lib/fuchsia",
"//src/lib/fuchsia-async",
"//src/lib/fuchsia-component",
"//src/lib/test_diagnostics/rust:test_diagnostics",
"//src/sys/test_manager:test_lib",
"//third_party/rust_crates:anyhow",
"//third_party/rust_crates:futures",
"//third_party/rust_crates:pretty_assertions",
]
sources = [ "src/specified_realm_test.rs" ]
}
rustc_test("test_manager_legacy_test_bin") {
edition = "2021"
name = "test_manager_legacy_test"
source_root = "src/legacy_tests.rs"
deps = [
"//sdk/fidl/fuchsia.test.manager:fuchsia.test.manager_rust",
"//src/lib/fuchsia",
"//src/lib/fuchsia-async",
"//src/lib/fuchsia-component",
"//src/sys/test_manager:test_lib",
"//third_party/rust_crates:anyhow",
"//third_party/rust_crates:pretty_assertions",
]
sources = [ "src/legacy_tests.rs" ]
inputs = [
"//src/sys/test_runners/gtest/test_data/sample_tests_golden_events.rsf",
]
}
fuchsia_test_component("test_manager_test_component") {
component_name = "test_manager_test"
manifest = "meta/test_manager_test.cml"
deps = [ ":test_manager_test_bin" ]
test_type = "test_arch"
}
fuchsia_test_package("test_manager_test") {
test_components = [ ":test_manager_test_component" ]
deps = [ "test_data" ]
subpackages = [ "//src/sys/test_manager:pkg" ]
# There's expected error logs that happen during the test such as not resolving an instance when
# testing that we fail to execute a test with an unknown URL.
test_specs = {
log_settings = {
max_severity = "ERROR"
}
}
}
fuchsia_component("test_realm") {
testonly = true
manifest = "meta/test_realm.cml"
}
fuchsia_test_component("test_manager_specified_realm_test_component") {
component_name = "test_manager_specified_realm_test"
manifest = "meta/test_manager_specified_realm_test.cml"
deps = [ ":test_manager_specified_realm_bin" ]
test_type = "test_arch"
}
fuchsia_test_package("test_manager_specified_realm_test") {
test_components = [ ":test_manager_specified_realm_test_component" ]
deps = [
":test_realm",
"test_data:debug_data_write_test",
"test_data:echo_test_client",
"test_data:echo_test_realm",
"//examples/components/routing/rust/echo_server:echo_server_cmp",
"//src/lib/fuchsia-component-test/realm_builder_server:realm_builder_server_component",
]
subpackages = [ "//src/sys/test_manager:pkg" ]
}
fuchsia_test_component("test_manager_stress_test_component") {
component_name = "test_manager_stress_test"
manifest = "meta/test_manager_stress_test.cml"
deps = [
":test_manager_stress_test_bin",
"test_data:debug_data_spam_test",
]
# TODO(fxbug.dev/127684) : Port this to realm outside test manager
# test_type = "test_arch"
}
fuchsia_test_package("test_manager_stress_test") {
test_components = [ ":test_manager_stress_test_component" ]
deps = [ "test_data:debug_data_spam_test" ]
subpackages = [ "//src/sys/test_manager:pkg" ]
}
fuchsia_test_component("test_manager_legacy_test_component") {
component_name = "test_manager_legacy_test"
manifest = "meta/test_manager_legacy_test.cml"
deps = [ ":test_manager_legacy_test_bin" ]
test_type = "test_arch"
}
fuchsia_test_package("test_manager_legacy_test") {
test_components = [ ":test_manager_legacy_test_component" ]
deps = [ "test_data:test_data_v1" ]
subpackages = [ "//src/sys/test_manager:pkg" ]
# There's expected error logs that happen during the test such as not resolving an instance when
# testing that we fail to execute a test with an unknown URL.
test_specs = {
log_settings = {
max_severity = "ERROR"
}
}
}
group("legacy_tests") {
testonly = true
deps = [
":test_manager_legacy_test",
"//src/sys/test_runners/gtest/test_data:gtest-runner-example-tests",
]
}
group("tests") {
testonly = true
deps = [
":test_manager_specified_realm_test",
":test_manager_stress_test",
":test_manager_test",
"chromium_tests:tests",
"diagnostics_tests:tests",
"nonhermetic_packaged_tests:tests",
"test_data:debug-data-test",
# test_manager_test launches these tests.
# TODO(fxbug.dev/104764): consider reorganizing these tests so that these dependencies
# are not necessary.
"//examples/components/routing/integration_tests:tests",
"//src/sys/test_runners/gtest/test_data:gtest-runner-example-tests",
]
}