blob: c64ff067669c061c348c7a1a7c2ae6f10a92b4af [file] [log] [blame]
# Copyright 2021 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/fidl/fidl.gni")
import("//build/rust/rustc_binary.gni")
import("//build/rust/rustc_test.gni")
rustc_test("fuchsia_component_test_tests_bin") {
name = "fuchsia_component_test_tests_bin"
edition = "2021"
sources = [ "src/lib.rs" ]
deps = [
"..:fuchsia-component-test",
"//examples/components/routing/fidl:echo_rust",
"//examples/components/services/fidl:fuchsia.examples.services_rust",
"//sdk/fidl/fuchsia.component:fuchsia.component_rust",
"//sdk/fidl/fuchsia.component.decl:fuchsia.component.decl_rust",
"//sdk/fidl/fuchsia.component.test:fuchsia.component.test_rust",
"//sdk/fidl/fuchsia.data:fuchsia.data_rust",
"//sdk/fidl/fuchsia.io:fuchsia.io_rust",
"//sdk/fidl/fuchsia.process:fuchsia.process_rust",
"//sdk/fidl/fuchsia.sys2:fuchsia.sys2_rust",
"//src/lib/fidl/rust/fidl",
"//src/lib/fuchsia",
"//src/lib/fuchsia-async",
"//src/lib/fuchsia-component",
"//src/lib/fuchsia-fs",
"//src/lib/zircon/rust:fuchsia-zircon",
"//src/sys/lib/cm_rust",
"//src/sys/lib/cm_rust/testing",
"//third_party/rust_crates:anyhow",
"//third_party/rust_crates:assert_matches",
"//third_party/rust_crates:futures",
]
}
fuchsia_test_component("fuchsia_component_test_tests_component") {
manifest = "meta/fuchsia-component-test-tests.cml"
component_name = "fuchsia-component-test-tests"
deps = [ ":fuchsia_component_test_tests_bin" ]
}
fuchsia_component("echo_client_empty_component") {
testonly = true
manifest = "meta/echo_client_empty.cml"
component_name = "echo_client_empty"
deps =
[ "//src/sys/component_manager/testing/echo_client:echo_client_testing" ]
}
fuchsia_component("echo_client_with_elf_runner") {
testonly = true
manifest = "meta/echo_client_with_elf_runner.cml"
component_name = "echo_client_with_elf_runner"
deps =
[ "//src/sys/component_manager/testing/echo_client:echo_client_testing" ]
}
fuchsia_component("echo_server_empty_component") {
testonly = true
manifest = "meta/echo_server_empty.cml"
component_name = "echo_server_empty"
deps = [ "//src/sys/component_manager/testing/echo_server" ]
}
rustc_test("scoped-instance-test") {
edition = "2021"
source_root = "scoped_instance/lib.rs"
deps = [
"//sdk/fidl/fuchsia.component:fuchsia.component_rust",
"//src/lib/fuchsia",
"//src/lib/fuchsia-component-test",
"//src/sys/lib/component-events",
"//third_party/rust_crates:test-case",
]
sources = [ "scoped_instance/lib.rs" ]
}
rustc_binary("realm") {
edition = "2021"
source_root = "scoped_instance/realm.rs"
testonly = true
deps = [
"//examples/components/routing/fidl:echo_rust",
"//src/lib/fuchsia",
"//src/lib/fuchsia-component",
"//src/lib/fuchsia-component-test",
"//src/sys/lib/component-events",
"//third_party/rust_crates:anyhow",
"//third_party/rust_crates:argh",
"//third_party/rust_crates:futures",
"//third_party/rust_crates:tracing",
]
sources = [ "scoped_instance/realm.rs" ]
}
fidl("fuchsia.component.client.test") {
testonly = true
sources = [ "client.test.fidl" ]
}
fuchsia_test_component("scoped_instance_test_component") {
component_name = "scoped_instance_test"
manifest = "meta/scoped_instance_test.cml"
deps = [ ":scoped-instance-test" ]
}
fuchsia_test_component("realm_component") {
component_name = "realm"
manifest = "meta/realm.cml"
deps = [ ":realm" ]
}
fuchsia_test_component("realm_with_wait_component") {
component_name = "realm_with_wait"
manifest = "meta/realm_with_wait.cml"
deps = [ ":realm" ]
}
fuchsia_test_component("echo_realm_component") {
component_name = "echo_realm"
manifest = "meta/echo_realm.cml"
}
rustc_test("arbitrary_realm_test_bin") {
name = "arbitrary_realm_test_bin"
edition = "2021"
source_root = "src/arbitrary_realm_test.rs"
sources = [ source_root ]
deps = [
"..:fuchsia-component-test",
"//examples/components/routing/fidl:echo_rust",
"//sdk/fidl/fuchsia.component:fuchsia.component_rust",
"//src/lib/fuchsia",
"//src/lib/fuchsia-component",
"//third_party/rust_crates:anyhow",
]
}
fuchsia_test_component("arbitrary_realm_test_component") {
manifest = "meta/arbitrary_realm_test.cml"
component_name = "arbitrary_realm_test"
deps = [ ":arbitrary_realm_test_bin" ]
# disable check for realm_builder.shard.cml as we don't want the realm builder
# library to use it from namespace.
check_includes = false
}
fuchsia_component("child_realm_with_realmbuilder") {
testonly = true
manifest = "meta/child_realm.cml"
component_name = "child_realm_with_realmbuilder"
}
fuchsia_test_package("fuchsia-component-test-tests") {
deps = [
":child_realm_with_realmbuilder",
":echo_client_empty_component",
":echo_client_with_elf_runner",
":echo_realm_component",
":echo_server_empty_component",
":fuchsia_component_test_tests_component",
"collection_sc",
"echo_client_sc",
"//src/sys/component_manager:component-manager-realm-builder-cmp",
"//src/sys/component_manager/testing/echo_client",
"//src/sys/component_manager/testing/echo_server",
"//src/sys/component_manager/tests/rights:component_manager_debug_config",
"//src/sys/component_manager/tests/rights:component_manager_for_rights_test",
"//src/sys/component_manager/tests/rights:elf_runner_and_environment",
"//src/sys/component_manager/tests/rights:expose_dir_rights",
]
test_components = [
":fuchsia_component_test_tests_component",
":arbitrary_realm_test_component",
]
}
fuchsia_test_package("scoped-instance-tests") {
test_components = [ ":scoped_instance_test_component" ]
deps = [
":realm_component",
":realm_with_wait_component",
"//src/sys/component_manager:component-manager-realm-builder-debug-cmp",
"//src/sys/component_manager/testing/echo_server",
]
}
group("tests") {
testonly = true
deps = [
":fuchsia-component-test-tests",
":scoped-instance-tests",
]
}