blob: e4bc4dbe6c878bb2e8c52ce1b7dc6653c8b1d49a [file] [log] [blame]
# Copyright 2020 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")
import("//src/diagnostics/archivist/build/pipeline.gni")
import("//src/diagnostics/archivist/tests/v2/configs.gni")
rustc_test("integration_tests_bin") {
output_name = "archivist_integration_tests"
edition = "2021"
deps = [
"//sdk/fidl/fuchsia.component:fuchsia.component-rustc",
"//sdk/fidl/fuchsia.component.decl:fuchsia.component.decl-rustc",
"//sdk/fidl/fuchsia.diagnostics:fuchsia.diagnostics-rustc",
"//sdk/fidl/fuchsia.io:fuchsia.io-rustc",
"//sdk/fidl/fuchsia.logger:fuchsia.logger-rustc",
"//sdk/fidl/fuchsia.sys.internal:fuchsia.sys.internal-rustc",
"//sdk/fidl/fuchsia.sys2:fuchsia.sys2-rustc",
"//src/diagnostics/archivist:lib",
"//src/diagnostics/archivist/tests/v2/components/fidl:fidl-rustc",
"//src/lib/diagnostics/data/rust",
"//src/lib/diagnostics/hierarchy/rust",
"//src/lib/diagnostics/log/message/rust",
"//src/lib/diagnostics/log/rust",
"//src/lib/diagnostics/reader/rust",
"//src/lib/diagnostics/selectors",
"//src/lib/fidl/rust/fidl",
"//src/lib/fuchsia",
"//src/lib/fuchsia-async",
"//src/lib/fuchsia-component",
"//src/lib/fuchsia-component-test",
"//src/lib/fuchsia-fs",
"//src/lib/syslog/rust:syslog",
"//src/lib/syslog/rust:syslog-listener",
"//src/lib/zircon/rust:fuchsia-zircon",
"//src/sys/lib/cm_rust",
"//src/sys/lib/component-events",
"//third_party/rust_crates:anyhow",
"//third_party/rust_crates:difference",
"//third_party/rust_crates:futures",
"//third_party/rust_crates:lazy_static",
"//third_party/rust_crates:rand",
"//third_party/rust_crates:serde_json",
"//third_party/rust_crates:tracing",
]
sources = [
"src/constants.rs",
"src/inspect/mod.rs",
"src/inspect/out_directory.rs",
"src/inspect/reader.rs",
"src/inspect/recursive_glob.rs",
"src/inspect/truncation.rs",
"src/lib.rs",
"src/logs/attribution.rs",
"src/logs/basic.rs",
"src/logs/budget.rs",
"src/logs/crash.rs",
"src/logs/interest.rs",
"src/logs/lifecycle.rs",
"src/logs/mod.rs",
"src/logs/selectors.rs",
"src/logs/sorting.rs",
"src/logs/utils.rs",
"src/test_topology.rs",
"src/utils.rs",
]
inputs = [
"test_data/empty_result_golden.json",
"test_data/unified_reader_all_golden.json",
"test_data/pipeline_reader_all_golden.json",
"test_data/memory_monitor_v2_moniker_golden.json",
"test_data/memory_monitor_legacy_moniker_golden.json",
"test_data/unified_reader_full_filter_golden.json",
"test_data/pipeline_reader_nonoverlapping_selectors_golden.json",
"test_data/unified_reader_single_value_golden.json",
"test_data/pipeline_reader_single_value_golden.json",
]
}
fuchsia_component_manifest("with-log-connector-manifest") {
manifest = "meta/archivist_for_integration_with_log_connector.cml"
component_name = "archivist_with_log_connector"
}
fuchsia_component("archivist-for-integration-with-log-connector") {
cm_label = ":with-log-connector-manifest"
testonly = true
deps = [ "//src/diagnostics/archivist:bin" ]
}
fuchsia_component_manifest("with-klog-manifest") {
manifest = "meta/archivist_with_klog.cml"
component_name = "archivist_with_klog"
}
fuchsia_component("archivist-with-klog") {
cm_label = ":with-klog-manifest"
testonly = true
deps = [ "//src/diagnostics/archivist:bin" ]
}
fuchsia_component_manifest("for-integration-manifest") {
manifest = "meta/archivist_for_integration.cml"
component_name = "archivist"
}
fuchsia_component("archivist-for-integration") {
cm_label = ":for-integration-manifest"
testonly = true
deps = [ "//src/diagnostics/archivist:bin" ]
}
fuchsia_component_manifest("small-caches-manifest") {
manifest = "meta/archivist-with-small-caches.cml"
component_name = "archivist-with-small-caches"
}
fuchsia_component("archivist-with-small-caches") {
cm_label = ":small-caches-manifest"
testonly = true
deps = [ "//src/diagnostics/archivist:bin" ]
}
fuchsia_component_manifest("with-feedback-filtering-manifest") {
manifest = "meta/archivist_for_integration.cml"
component_name = "archivist-with-feedback-filtering"
}
fuchsia_component("archivist-with-feedback-filtering") {
cm_label = ":with-feedback-filtering-manifest"
testonly = true
deps = [ "//src/diagnostics/archivist:bin" ]
}
fuchsia_component_manifest("with-legacy-metrics-filtering-manifest") {
manifest = "meta/archivist_for_integration.cml"
component_name = "archivist-with-legacy-metrics-filtering"
}
fuchsia_component("archivist-with-legacy-metrics-filtering") {
cm_label = ":with-legacy-metrics-filtering-manifest"
testonly = true
deps = [ "//src/diagnostics/archivist:bin" ]
}
fuchsia_component_manifest("with-lowpan-filtering-manifest") {
manifest = "meta/archivist_for_integration.cml"
component_name = "archivist-with-lowpan-filtering"
}
fuchsia_component("archivist-with-lowpan-filtering") {
cm_label = ":with-lowpan-filtering-manifest"
testonly = true
deps = [ "//src/diagnostics/archivist:bin" ]
}
fuchsia_component_manifest("with-feedback-filtering-disabled-manifest") {
manifest = "meta/archivist_for_integration.cml"
component_name = "archivist-with-feedback-filtering-disabled"
}
fuchsia_component("archivist-with-feedback-filtering-disabled") {
cm_label = ":with-feedback-filtering-disabled-manifest"
testonly = true
deps = [ "//src/diagnostics/archivist:bin" ]
}
fuchsia_component("archivist_integration_tests") {
testonly = true
deps = [ ":integration_tests_bin" ]
manifest = "meta/archivist_integration_tests.cml"
}
fuchsia_structured_config_values("archivist-for-integration-config") {
cm_label = ":for-integration-manifest"
values = archivist_for_integration_config
}
fuchsia_structured_config_values("archivist-with-small-caches-config") {
cm_label = ":small-caches-manifest"
values = small_caches_config
}
fuchsia_structured_config_values("archivist-with-klog-config") {
cm_label = ":with-klog-manifest"
values = with_klog_config
}
fuchsia_structured_config_values("archivist-with-log-connector-config") {
cm_label = ":with-log-connector-manifest"
values = with_log_connector_config
}
fuchsia_structured_config_values("archivist-with-feedback-filtering-config") {
cm_label = ":with-feedback-filtering-manifest"
values = with_feedback_filtering
}
fuchsia_structured_config_values(
"archivist-with-legacy-metrics-filtering-config") {
cm_label = ":with-legacy-metrics-filtering-manifest"
values = with_legacy_metrics_filtering
}
fuchsia_structured_config_values("archivist-with-lowpan-filtering-config") {
cm_label = ":with-lowpan-filtering-manifest"
values = with_lowpan_filtering
}
fuchsia_structured_config_values(
"archivist-with-feedback-filtering-disabled-config") {
cm_label = ":with-feedback-filtering-disabled-manifest"
values = with_feedback_filtering_disabled
}
resource("filter_feedback") {
sources = [ "configs/pipelines/static_selectors.cfg" ]
outputs = [
"data/config/pipelines/feedback_filtered/feedback/static_selectors.cfg",
]
}
resource("filter_lowpan") {
sources = [ "configs/pipelines/static_selectors.cfg" ]
outputs =
[ "data/config/pipelines/lowpan_filtered/lowpan/static_selectors.cfg" ]
}
resource("do_not_filter_feedback") {
sources = [ "configs/pipelines/DISABLE_FILTERING.txt" ]
outputs = [ "data/config/pipelines/feedback_filtering_disabled/feedback/DISABLE_FILTERING.txt" ]
}
resource("configure_legacy_metrics_pipeline") {
sources = [ "configs/pipelines/legacy_selectors.cfg" ]
outputs = [ "data/config/pipelines/legacy_metrics_filtered/legacy_metrics/legacy_selectors.cfg" ]
}
fuchsia_test_package("archivist-integration-tests-v2") {
test_components = [ ":archivist_integration_tests" ]
deps = [
":archivist-for-integration",
":archivist-for-integration-config",
":archivist-for-integration-with-log-connector",
":archivist-with-feedback-filtering",
":archivist-with-feedback-filtering-config",
":archivist-with-feedback-filtering-disabled",
":archivist-with-feedback-filtering-disabled-config",
":archivist-with-klog",
":archivist-with-klog-config",
":archivist-with-legacy-metrics-filtering",
":archivist-with-legacy-metrics-filtering-config",
":archivist-with-log-connector-config",
":archivist-with-lowpan-filtering",
":archivist-with-lowpan-filtering-config",
":archivist-with-small-caches",
":archivist-with-small-caches-config",
":configure_legacy_metrics_pipeline",
":do_not_filter_feedback",
":filter_feedback",
":filter_lowpan",
"components",
"//src/diagnostics/iquery/test/test_component",
]
}
group("tests") {
testonly = true
deps = [ ":archivist-integration-tests-v2" ]
}