blob: a0608b2b56e8224ce45c34a6a6cde752477c42b6 [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/config.gni")
import("//build/rust/rustc_library.gni")
import("//src/diagnostics/sampler/build/config_generator.gni")
# Test binary responsible for readings
# and validating all client configurations
# listed in the "production lapis" lapis_configuration.
rustc_test("config-validation") {
testonly = true
name = "config_validation_test"
deps = [
"//src/diagnostics/sampler:lib",
"//src/lib/fuchsia",
"//src/lib/fuchsia-async",
]
source_root = "config_validation.rs"
sources = [ "config_validation.rs" ]
}
# Test component for config validation.
fuchsia_component("config-validation-test") {
testonly = true
manifest = "meta/config-validation-test.cmx"
deps = [
":config-validation",
"//src/diagnostics/sampler:production_lapis_resources",
]
}
# Integration test binary for lapis service.
rustc_test("test-bin") {
testonly = true
name = "sampler_integration_tests"
deps = [
"//sdk/fidl/fuchsia.cobalt:fuchsia.cobalt-rustc",
"//sdk/fidl/fuchsia.cobalt.test:fuchsia.cobalt.test-rustc",
"//src/diagnostics/sampler/tests/fidl-for-test:fuchsia.mockrebootcontroller-rustc",
"//src/diagnostics/sampler/tests/fidl-for-test:fuchsia.samplertestcontroller-rustc",
"//src/lib/diagnostics/reader/rust",
"//src/lib/diagnostics/testing/rust",
"//src/lib/fuchsia",
"//src/lib/fuchsia-async",
"//src/lib/fuchsia-component",
"//src/lib/zircon/rust:fuchsia-zircon",
"//third_party/rust_crates:anyhow",
]
data_deps = [ "//src/diagnostics/sampler:lib" ]
source_root = "integration.rs"
sources = [ "integration.rs" ]
}
# Integration test binary for lapis service.
rustc_test("failure-state-test-bin") {
testonly = true
name = "sampler_failure_states_integration_tests"
deps = [
"//sdk/fidl/fuchsia.cobalt:fuchsia.cobalt-rustc",
"//sdk/fidl/fuchsia.cobalt.test:fuchsia.cobalt.test-rustc",
"//src/diagnostics/sampler/tests/fidl-for-test:fuchsia.mockrebootcontroller-rustc",
"//src/diagnostics/sampler/tests/fidl-for-test:fuchsia.samplertestcontroller-rustc",
"//src/lib/diagnostics/reader/rust",
"//src/lib/diagnostics/testing/rust",
"//src/lib/fuchsia",
"//src/lib/fuchsia-async",
"//src/lib/fuchsia-component",
"//src/lib/zircon/rust:fuchsia-zircon",
"//third_party/rust_crates:anyhow",
]
data_deps = [ "//src/diagnostics/sampler:lib" ]
source_root = "failure_state_test.rs"
sources = [ "failure_state_test.rs" ]
}
# Integration test binary for lapis service.
rustc_test("inspect-hierarchy-test-bin") {
testonly = true
name = "sampler_inspect_hierarchy_integration_tests"
deps = [
"//sdk/fidl/fuchsia.cobalt:fuchsia.cobalt-rustc",
"//sdk/fidl/fuchsia.cobalt.test:fuchsia.cobalt.test-rustc",
"//sdk/fidl/fuchsia.sys:fuchsia.sys-rustc",
"//src/diagnostics/sampler/tests/fidl-for-test:fuchsia.mockrebootcontroller-rustc",
"//src/diagnostics/sampler/tests/fidl-for-test:fuchsia.samplertestcontroller-rustc",
"//src/lib/diagnostics/hierarchy/rust",
"//src/lib/diagnostics/inspect/rust",
"//src/lib/diagnostics/reader/rust",
"//src/lib/diagnostics/testing/rust",
"//src/lib/fuchsia",
"//src/lib/fuchsia-async",
"//src/lib/fuchsia-component",
"//src/lib/zircon/rust:fuchsia-zircon",
"//third_party/rust_crates:anyhow",
]
data_deps = [ "//src/diagnostics/sampler:lib" ]
source_root = "inspect_hierarchy_test.rs"
sources = [ "inspect_hierarchy_test.rs" ]
}
# Config-data for the integration test.
config_data("test-config") {
for_pkg = "sampler-integration-tests"
sources = [ "configs/test_config.json" ]
outputs = [ "metrics/test_config.json" ]
}
# config-data lapis config that requires reboot
# for the integration test.
config_data("reboot-required-config") {
for_pkg = "sampler-integration-tests"
sources = [ "configs/reboot_required_config.json" ]
outputs = [ "metrics/reboot_required_config.json" ]
}
# Test component for lapis service integration test.
fuchsia_component("sampler-integration-test") {
testonly = true
manifest = "meta/integration-tests.cmx"
deps = [
":test-bin",
"//src/diagnostics/sampler:sampler-v1",
"//src/diagnostics/sampler/tests/test_component:single_counter_test_component",
]
}
# Test component for lapis service integration test.
fuchsia_component("sampler-failure-state-integration-test") {
testonly = true
manifest = "meta/failure-state-test.cmx"
deps = [
":failure-state-test-bin",
"//src/diagnostics/sampler:sampler-v1",
"//src/diagnostics/sampler/tests/test_component:single_counter_test_component",
]
}
# Test component for integration testing lapis inspect instrumentation.
fuchsia_component("sampler-inspect-hierarchy-integration-test") {
testonly = true
manifest = "meta/inspect-hierarchy-test.cmx"
deps = [
":inspect-hierarchy-test-bin",
"//src/diagnostics/sampler:sampler-v1",
"//src/diagnostics/sampler/tests/test_component:single_counter_test_component",
]
}
fuchsia_test_package("sampler-integration-tests") {
test_components = [
":sampler-integration-test",
":config-validation-test",
":sampler-failure-state-integration-test",
":sampler-inspect-hierarchy-integration-test",
]
deps = [
":reboot-required-config",
":test-config",
"//src/diagnostics/sampler:production_lapis_resources",
"//src/diagnostics/sampler/tests/mock_reboot_register:mock_reboot_register_component",
]
}