| # Copyright 2017 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/fuzzing/fuzzer.gni") |
| import("//src/sys/core/build/core_shard.gni") |
| |
| group("tests") { |
| testonly = true |
| deps = [ |
| ":cobalt-manual-tests", |
| ":cobalt_tests", |
| "app", |
| "system-metrics", |
| "testapp", |
| "testing", |
| "utils", |
| ] |
| } |
| |
| fuchsia_test_component("cobalt_app_unittests") { |
| manifest = "meta/cobalt_app_unittests.cml" |
| deps = [ "app:cobalt_app_unittests" ] |
| } |
| |
| fuchsia_test_component("cobalt_system_metrics_unittests") { |
| manifest = "meta/cobalt_system_metrics_unittests.cml" |
| deps = [ "system-metrics:cobalt_system_metrics_unittests" ] |
| } |
| |
| fuchsia_unittest_component("cobalt_utils_unittests") { |
| deps = [ "utils:cobalt_utils_unittests" ] |
| } |
| |
| fuchsia_test_component("cobalt_testapp_no_network") { |
| manifest = "meta/cobalt_testapp_no_network.cml" |
| deps = [ "testapp:cobalt_testapp" ] |
| } |
| |
| template("testapp_cobalt_components") { |
| test_name = target_name |
| if (defined(invoker.name)) { |
| test_name = invoker.name |
| } else { |
| not_needed(invoker, "*") |
| } |
| |
| fuchsia_test_component("variant_${test_name}_with_event_aggregator") { |
| component_name = "cobalt_with_event_aggregator_worker" |
| manifest = |
| "meta/cobalt_variants/${test_name}_with_event_aggregator_worker.cml" |
| deps = [ "app" ] |
| } |
| |
| fuchsia_test_component("variant_${test_name}_no_event_aggregator") { |
| component_name = "cobalt_no_event_aggregator_worker" |
| manifest = |
| "meta/cobalt_variants/${test_name}_no_event_aggregator_worker.cml" |
| deps = [ "app" ] |
| } |
| |
| group(target_name) { |
| testonly = true |
| deps = [ |
| ":variant_${test_name}_no_event_aggregator", |
| ":variant_${test_name}_with_event_aggregator", |
| ] |
| } |
| } |
| |
| testapp_cobalt_components("variants_networked_components") { |
| name = "networked" |
| } |
| testapp_cobalt_components("variants_no_network_components") { |
| name = "no_network" |
| } |
| |
| resource("testapp_metrics_registry") { |
| sources = [ rebase_path( |
| get_label_info("app:testapp_metrics_registry", "target_gen_dir") + |
| "/testapp_metrics_registry.pb") ] |
| outputs = [ "data/testapp_metrics_registry.pb" ] |
| } |
| |
| fuchsia_test_package("cobalt_tests") { |
| test_components = [ |
| ":cobalt_app_unittests", |
| ":cobalt_system_metrics_unittests", |
| ":cobalt_utils_unittests", |
| ":cobalt_testapp_no_network", |
| ] |
| deps = [ |
| ":testapp_metrics_registry", |
| ":variants_no_network_components", |
| "app:analyzer_devel_public", |
| "app:cobalt_devel_environment", |
| "app:global_metrics_registry", |
| "app:shuffler_devel_public", |
| "app:testapp_metrics_registry", |
| ] |
| test_specs = { |
| log_settings = { |
| max_severity = "ERROR" |
| } |
| } |
| } |
| |
| fuchsia_test_component("cobalt-testapp") { |
| manifest = "meta/cobalt_testapp.cml" |
| deps = [ "testapp:cobalt_testapp" ] |
| } |
| |
| # Tests that should not be run on any bot. |
| # These should be run locally to verify that the cobalt_testapp works with |
| # networking. |
| fuchsia_test_package("cobalt-manual-tests") { |
| test_components = [ ":cobalt-testapp" ] |
| deps = [ |
| ":variants_networked_components", |
| "app:analyzer_devel_public", |
| "app:analyzer_prod_public", |
| "app:cobalt_environment", |
| "app:shuffler_devel_public", |
| "app:shuffler_prod_public", |
| ] |
| test_specs = { |
| environments = [] |
| log_settings = { |
| max_severity = "ERROR" |
| } |
| } |
| } |
| |
| fuchsia_test_component("cobalt_testapp_for_prober_do_not_run_manually") { |
| manifest = "meta/cobalt_testapp_for_prober_do_not_run_manually.cml" |
| deps = [ "testapp:cobalt_testapp" ] |
| } |
| |
| # Tests that should be run on a schedule for probing cobalt. |
| # These should only be run in CQ to avoid polluting the data collected. To |
| # verify that this still works, use cobalt-manual-tests instead. |
| fuchsia_test_package("cobalt_tests_do_not_run_manually") { |
| test_components = [ ":cobalt_testapp_for_prober_do_not_run_manually" ] |
| deps = [ |
| ":variants_networked_components", |
| "app:analyzer_devel_public", |
| "app:analyzer_prod_public", |
| "app:cobalt_environment", |
| "app:shuffler_devel_public", |
| "app:shuffler_prod_public", |
| ] |
| test_specs = { |
| # We don't want to run this version of cobalt_testapp in the Fuchsia |
| # CI/CQ because it uses the real network. We run cobalt_testapp_no_network |
| # instead. This version is run in the Cobalt Prober. |
| # It should not be run outside of CI, since it populates a test pipeline |
| # whose output is inspected. |
| environments = [ |
| { |
| dimensions = { |
| device_type = "Astro" |
| } |
| tags = [ "cobalt-prober" ] |
| }, |
| { |
| dimensions = { |
| device_type = "Intel NUC Kit NUC7i5DNHE" |
| } |
| tags = [ "cobalt-prober" ] |
| }, |
| ] |
| log_settings = { |
| max_severity = "ERROR" |
| } |
| } |
| } |
| |
| fuzzers_package("cobalt_fuzzers") { |
| fuzzers = [ |
| "app/fuzzer:logger_factory_fuzzer", |
| "app/fuzzer:logger_fuzzer", |
| "app/fuzzer:system_data_updater_fuzzer", |
| ] |
| } |