| # Copyright 2023 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. |
| |
| # Instructions for CTF test authors. |
| # |
| # When adding a new CTF test, you must create a template below to ensure that |
| # when the test is released in CTF and rolled back into Fuchsia, the build |
| # knows how to expand the prebuilt test into a runnable Fuchsia package. |
| # |
| # The template name should follow the pattern "generate_${package_name}". |
| # If you're unsure what package name to use, run this command and see which |
| # missing template name causes the build to fail: |
| # |
| # fx set core.x64 --with //sdk/ctf:check_test_templates && fx build |
| # |
| # The template must take a single `test_info` scope as input which has the |
| # following attributes: |
| # |
| # name |
| # The name of the prebuilt CTF test package. |
| # Type: string |
| # |
| # target_label |
| # The absolute GN label of the prebuilt package. |
| # Type: string |
| # |
| # target_api_level |
| # The API level validated by this test. |
| # Type: int |
| # |
| # test_component_names (optional) |
| # Optional list of component names that are meant to be run directly |
| # as tests from the package. |
| # Type: list[string] (optional) |
| # |
| # If the template defines `fidl_coverage = true` then for the `in_development` |
| # API level, a Lacewing test will be created that wraps the device test and |
| # reports its FIDL activity in the test artifacts. See |
| # `sdk/ctf/build/scripts/snoop_fidl.py` for more details. |
| # |
| # See generate_pkgdir-tests for an example. |
| |
| import("//sdk/ctf/build/internal/fuchsia_package_with_test.gni") |
| import("//sdk/ctf/build/internal/generate_ctf_packages.gni") |
| import("//src/lib/vulkan/vulkan.gni") |
| |
| # This template has the same input as other generate_* templates, |
| # but it handles the common operation of treating an input |
| # package + test_component_names as a group of pre-packaged tests. |
| # |
| # We cannot change the name of the downloaded package, but we can |
| # subpackage it in a new test component with a generated manifest. |
| template("pre_packaged_test_with_names") { |
| test_info = invoker.test_info |
| |
| # TODO (b/396759044): Decide whether to wrap these tests in the |
| # Lacewing FIDL snooper. |
| not_needed(invoker, [ "fidl_coverage" ]) |
| package_name = test_info.name |
| assert(defined(test_info.test_component_names), |
| "Expected test_component_names for a pre-packaged test.") |
| test_component_names = test_info.test_component_names |
| |
| generated_components = [] |
| |
| foreach(test_name, test_component_names) { |
| # Generate a simple manifest for this test that offers all diagnostics |
| # capabilities and simply exposes the test suite itself. |
| generated_manifest = "${target_name}_${test_name}_generated_manifest" |
| fuchsia_test_component_manifest(generated_manifest) { |
| metadata = { |
| test_component_manifest_cml = [ |
| { |
| include = [ |
| "//sdk/lib/syslog/offer.shard.cml", |
| "//sdk/lib/inspect/offer.shard.cml", |
| ] |
| children = [ |
| { |
| name = "test" |
| url = "${package_name}#meta/${test_name}.cm" |
| }, |
| ] |
| expose = [ |
| { |
| protocol = "fuchsia.test.Suite" |
| from = "#test" |
| }, |
| ] |
| }, |
| ] |
| } |
| visibility = [ ":*" ] |
| } |
| manifest = get_target_outputs(":$generated_manifest") |
| manifest = manifest[0] |
| generated_component = "${target_name}_${test_name}_generated_component" |
| fuchsia_test_component(generated_component) { |
| component_name = test_name |
| manifest = manifest |
| deps = [ ":$generated_manifest" ] |
| } |
| generated_components += [ ":$generated_component" ] |
| } |
| |
| # Package our wrapper component, and subpackage the test within |
| # the new package. |
| fuchsia_test_package(target_name) { |
| package_name = target_name |
| test_components = generated_components |
| subpackages = [ test_info.target_label ] |
| } |
| } |
| |
| template("generate_scenic_test_base") { |
| forward_variables_from(invoker, |
| [ |
| "test_component", |
| "test_component_name", |
| "target_test_info", |
| "fidl_coverage", |
| ]) |
| |
| fuchsia_package_with_test(target_name) { |
| test_component = test_component |
| test_component_name = test_component_name |
| subpackages = [ |
| target_test_info.target_label, |
| "//src/ui/testing/scenic_realm_factory:pkg", |
| ] |
| test_specs = { |
| environments = vulkan_envs |
| log_settings = { |
| max_severity = "ERROR" |
| } |
| } |
| } |
| } |
| |
| template("generate_archivist_integration_test_cases") { |
| forward_variables_from(invoker, |
| [ |
| "test_info", |
| "fidl_coverage", |
| ]) |
| |
| # TODO(https://fxbug.dev/383560524): This is disabled until we fix an error in the test. |
| if (defined(invoker.api_level) && |
| (invoker.api_level == "25" || invoker.api_level == "27" || |
| invoker.api_level == "28")) { |
| not_needed([ |
| "test_info", |
| "fidl_coverage", |
| ]) |
| group(target_name) { |
| } |
| } else { |
| fuchsia_package_with_test(target_name) { |
| # This test needs to override the default CTF realm. |
| device_test_realm = "/core/testing/system-tests" |
| test_component = "//src/diagnostics/archivist/tests/integration:test_root" |
| test_component_name = "test_root.cm" |
| subpackages = [ |
| test_info.target_label, |
| "//src/diagnostics/archivist/tests/integration/realm_factory:pkg", |
| ] |
| } |
| } |
| } |
| |
| template("generate_fuchsia-diagnostics-tests") { |
| forward_variables_from(invoker, |
| [ |
| "test_info", |
| "fidl_coverage", |
| ]) |
| |
| fuchsia_package_with_test(target_name) { |
| subpackages = [ |
| test_info.target_label, |
| # These tests do not currently use a test realm factory. |
| ] |
| test_component = "//sdk/ctf/tests/fidl/fuchsia.diagnostics:fuchsia-diagnostics-tests-root" |
| test_component_name = "fuchsia-diagnostics-tests-root.cm" |
| } |
| } |
| |
| template("generate_fuchsia-diagnostics-log-tests") { |
| forward_variables_from(invoker, |
| [ |
| "test_info", |
| "fidl_coverage", |
| ]) |
| fuchsia_package_with_test(target_name) { |
| subpackages = [ |
| test_info.target_label, |
| # These tests do not currently use a test realm factory. |
| ] |
| test_component = "//sdk/ctf/tests/fidl/fuchsia.diagnostics:fuchsia-diagnostics-log-tests-root" |
| test_component_name = "fuchsia-diagnostics-log-tests-root.cm" |
| } |
| } |
| |
| template("generate_fidl-hlcpp-unit-tests") { |
| forward_variables_from(invoker, |
| [ |
| "test_info", |
| "fidl_coverage", |
| ]) |
| fuchsia_package_with_test(target_name) { |
| subpackages = [ |
| test_info.target_label, |
| # These tests do not currently use a test realm factory. |
| ] |
| test_component = "//sdk/ctf/tests/pkg/fidl/cpp:fidl-hlcpp-unit-tests-root" |
| test_component_name = "fidl-hlcpp-unit-tests-root.cm" |
| } |
| } |
| |
| template("generate_fidl-hlcpp-conformance-tests") { |
| forward_variables_from(invoker, |
| [ |
| "test_info", |
| "fidl_coverage", |
| ]) |
| fuchsia_package_with_test(target_name) { |
| subpackages = [ |
| test_info.target_label, |
| # These tests do not currently use a test realm factory. |
| ] |
| test_component = |
| "//sdk/ctf/tests/pkg/fidl/cpp:fidl-hlcpp-conformance-tests-root" |
| test_component_name = "fidl-hlcpp-conformance-tests-root.cm" |
| } |
| } |
| |
| template("generate_svc-tests") { |
| forward_variables_from(invoker, |
| [ |
| "test_info", |
| "fidl_coverage", |
| ]) |
| fuchsia_package_with_test(target_name) { |
| subpackages = [ |
| test_info.target_label, |
| # These tests do not currently use a test realm factory. |
| ] |
| test_component = "//sdk/ctf/tests/pkg/svc:svc-tests-root" |
| test_component_name = "svc-tests-root.cm" |
| } |
| } |
| |
| template("generate_vulkan-loader-tests") { |
| forward_variables_from(invoker, |
| [ |
| "test_info", |
| "fidl_coverage", |
| ]) |
| fuchsia_package_with_test(target_name) { |
| subpackages = [ |
| test_info.target_label, |
| # These tests do not currently use a test realm factory. |
| ] |
| test_component = "//sdk/ctf/tests/pkg/vulkan:vulkan-loader-test-root" |
| test_component_name = "vulkan-loader-test-root.cm" |
| test_specs = { |
| environments = vulkan_envs |
| log_settings = { |
| max_severity = "WARN" |
| } |
| } |
| } |
| } |
| |
| template("generate_fuchsia-intl-tests") { |
| forward_variables_from(invoker, |
| [ |
| "test_info", |
| "fidl_coverage", |
| ]) |
| fuchsia_package_with_test(target_name) { |
| test_component = "//sdk/ctf/tests/fidl/fuchsia.intl:test-root" |
| test_component_name = "test-root.cm" |
| subpackages = [ |
| test_info.target_label, |
| "//sdk/ctf/tests/fidl/fuchsia.intl/testing/realm-factory", |
| ] |
| } |
| } |
| |
| template("generate_timekeeper-integration") { |
| forward_variables_from(invoker, |
| [ |
| "test_info", |
| "fidl_coverage", |
| ]) |
| |
| # TODO: b/365558387 - This CTF test should be completely |
| # retracted. |
| not_needed([ |
| "test_info", |
| "fidl_coverage", |
| ]) |
| group(target_name) { |
| } |
| } |
| |
| template("generate_faketime-integration") { |
| forward_variables_from(invoker, |
| [ |
| "test_info", |
| "fidl_coverage", |
| ]) |
| |
| # TODO: b/365558387 - This CTF test should be completely |
| # retracted. |
| not_needed([ |
| "test_info", |
| "fidl_coverage", |
| ]) |
| group(target_name) { |
| } |
| } |
| |
| template("generate_fdio-spawn-tests") { |
| forward_variables_from(invoker, |
| [ |
| "test_info", |
| "fidl_coverage", |
| ]) |
| fuchsia_package_with_test(target_name) { |
| test_component = "//sdk/ctf/tests/pkg/fdio:test-root" |
| test_component_name = "test-root.cm" |
| subpackages = [ |
| test_info.target_label, |
| # These tests do not currently use a test realm factory. |
| ] |
| } |
| } |
| |
| template("generate_fuchsia-driver-test_tests") { |
| forward_variables_from(invoker, |
| [ |
| "test_info", |
| "fidl_coverage", |
| ]) |
| fuchsia_package_with_test(target_name) { |
| subpackages = [ |
| test_info.target_label, |
| # These tests do not currently use a test realm factory. |
| ] |
| deps = [ |
| "//sdk/lib/driver_test_realm:static", |
| "//src/devices/misc/drivers/test-parent", |
| ] |
| test_component = "//sdk/ctf/tests/fidl/fuchsia.driver.test:test-root" |
| test_component_name = "test-root.cm" |
| } |
| } |
| |
| template("generate_fuchsia-settings-tests") { |
| forward_variables_from(invoker, |
| [ |
| "test_info", |
| "fidl_coverage", |
| ]) |
| fuchsia_package_with_test(target_name) { |
| test_component = "//sdk/ctf/tests/fidl/fuchsia.settings:test-root" |
| test_component_name = "test-root.cm" |
| subpackages = [ |
| test_info.target_label, |
| "//sdk/ctf/tests/fidl/fuchsia.settings/testing/realm-factory", |
| ] |
| } |
| } |
| |
| template("generate_fuchsia-element-tests") { |
| forward_variables_from(invoker, |
| [ |
| "test_info", |
| "fidl_coverage", |
| ]) |
| fuchsia_package_with_test(target_name) { |
| subpackages = [ |
| test_info.target_label, |
| "//sdk/ctf/tests/fidl/fuchsia.element/testing/realm-factory:realm-factory", |
| ] |
| test_component = "//sdk/ctf/tests/fidl/fuchsia.element:test-root" |
| test_component_name = "test-root.cm" |
| } |
| } |
| |
| template("generate_fuchsia-hwinfo-tests") { |
| forward_variables_from(invoker, |
| [ |
| "test_info", |
| "fidl_coverage", |
| ]) |
| fuchsia_package_with_test(target_name) { |
| subpackages = [ test_info.target_label ] |
| test_component = "//sdk/ctf/tests/fidl/fuchsia.hwinfo:test-root" |
| test_component_name = "test-root.cm" |
| } |
| } |
| |
| # NOTE: Version 16 is disabled as we no longer provide builds for these |
| # versions. These tests were updated in https://fxbug.dev/355034859. |
| template("generate_pkgdir-tests") { |
| forward_variables_from(invoker, |
| [ |
| "test_info", |
| "fidl_coverage", |
| ]) |
| disabled_api_levels = [ "16" ] |
| if (defined(invoker.api_level) && |
| disabled_api_levels + [ invoker.api_level ] - [ invoker.api_level ] != |
| disabled_api_levels) { |
| not_needed([ |
| "test_info", |
| "fidl_coverage", |
| ]) |
| group(target_name) { |
| } |
| } else { |
| fuchsia_package_with_test(target_name) { |
| subpackages = [ |
| test_info.target_label, |
| "//src/sys/pkg/tests/pkgdir/test_realm_proxy", |
| ] |
| test_component = "//src/sys/pkg/tests/pkgdir:test-root" |
| test_component_name = "test-root.cm" |
| } |
| } |
| } |
| |
| template("generate_simulate-scan-wlan-hw-sim-tests") { |
| forward_variables_from(invoker, |
| [ |
| "test_info", |
| "fidl_coverage", |
| ]) |
| disabled_api_levels = [ "16" ] |
| if (defined(invoker.api_level) && |
| disabled_api_levels + [ invoker.api_level ] - [ invoker.api_level ] != |
| disabled_api_levels) { |
| not_needed([ |
| "test_info", |
| "fidl_coverage", |
| ]) |
| group(target_name) { |
| } |
| } else { |
| fuchsia_package_with_test(target_name) { |
| test_specs = { |
| log_settings = { |
| max_severity = "ERROR" |
| } |
| } |
| subpackages = [ |
| test_info.target_label, |
| "//src/connectivity/wlan/tests/helpers/realm-factory", |
| "//src/lib/fuchsia-component-test/realm_builder_server:pkg", |
| ] |
| test_component = "//src/connectivity/wlan/testing/hw-sim/test/simulate_scan:simulate-scan-test-root-component" |
| test_component_name = "test-root.cm" |
| } |
| } |
| } |
| |
| template("generate_basic-driver-test") { |
| forward_variables_from(invoker, |
| [ |
| "test_info", |
| "fidl_coverage", |
| ]) |
| fuchsia_package_with_test(target_name) { |
| test_component = |
| "//src/devices/tests/ctf/basic_driver:basic-driver-test-root" |
| test_component_name = "basic-driver-test-root.cm" |
| subpackages = [ |
| test_info.target_label, |
| "//src/devices/testing/realm-factory", |
| ] |
| } |
| } |
| |
| template("generate_nodegroup_test") { |
| forward_variables_from(invoker, |
| [ |
| "test_info", |
| "fidl_coverage", |
| ]) |
| fuchsia_package_with_test(target_name) { |
| test_component = "//src/devices/tests/v2/node_group:nodegroup_test_root" |
| test_component_name = "nodegroup_test_root.cm" |
| subpackages = [ |
| test_info.target_label, |
| "//src/devices/testing/realm-factory", |
| ] |
| } |
| } |
| |
| template("generate_realm_integration_tests-ctf") { |
| pre_packaged_test_with_names(target_name) { |
| forward_variables_from(invoker, "*") |
| } |
| } |
| |
| template("generate_touch-test-suite") { |
| forward_variables_from(invoker, |
| [ |
| "test_info", |
| "fidl_coverage", |
| ]) |
| fuchsia_package_with_test(target_name) { |
| test_component = "//src/ui/tests/conformance_input_tests:touch-conformance-test-component" |
| test_component_name = "touch-conformance-test.cm" |
| subpackages = [ |
| test_info.target_label, |
| "//src/ui/testing/context:ui-context-factory", |
| ] |
| test_specs = { |
| log_settings = { |
| max_severity = "ERROR" |
| } |
| environments = [ |
| { |
| dimensions = { |
| # Ensure the device has Vulkan. |
| device_type = "AEMU" |
| } |
| }, |
| ] |
| } |
| } |
| } |
| |
| template("generate_mouse-test-suite") { |
| forward_variables_from(invoker, |
| [ |
| "test_info", |
| "fidl_coverage", |
| ]) |
| fuchsia_package_with_test(target_name) { |
| test_component = "//src/ui/tests/conformance_input_tests:mouse-conformance-test-component" |
| test_component_name = "mouse-conformance-test.cm" |
| subpackages = [ |
| test_info.target_label, |
| "//src/ui/testing/context:ui-context-factory", |
| ] |
| test_specs = { |
| log_settings = { |
| max_severity = "ERROR" |
| } |
| environments = [ |
| { |
| dimensions = { |
| # Ensure the device has Vulkan. |
| device_type = "AEMU" |
| } |
| }, |
| ] |
| } |
| } |
| } |
| |
| template("generate_key-test-suite") { |
| forward_variables_from(invoker, |
| [ |
| "test_info", |
| "fidl_coverage", |
| ]) |
| fuchsia_package_with_test(target_name) { |
| test_component = |
| "//src/ui/tests/conformance_input_tests:key-conformance-test-component" |
| test_component_name = "key-conformance-test.cm" |
| subpackages = [ |
| test_info.target_label, |
| "//src/ui/testing/context:ui-context-factory", |
| ] |
| test_specs = { |
| log_settings = { |
| max_severity = "ERROR" |
| } |
| environments = [ |
| { |
| dimensions = { |
| # Ensure the device has Vulkan. |
| device_type = "AEMU" |
| } |
| }, |
| ] |
| } |
| } |
| } |
| |
| template("generate_focus-test-suite") { |
| forward_variables_from(invoker, |
| [ |
| "test_info", |
| "fidl_coverage", |
| ]) |
| fuchsia_package_with_test(target_name) { |
| test_component = "//src/ui/tests/conformance_input_tests:focus-conformance-test-component" |
| test_component_name = "focus-conformance-test.cm" |
| subpackages = [ |
| test_info.target_label, |
| "//src/ui/testing/context:ui-context-factory", |
| ] |
| test_specs = { |
| log_settings = { |
| max_severity = "ERROR" |
| } |
| environments = [ |
| { |
| dimensions = { |
| # Ensure the device has Vulkan. |
| device_type = "AEMU" |
| } |
| }, |
| ] |
| } |
| } |
| } |
| |
| template("generate_media-button-test-suite") { |
| forward_variables_from(invoker, |
| [ |
| "test_info", |
| "fidl_coverage", |
| ]) |
| fuchsia_package_with_test(target_name) { |
| test_component = "//src/ui/tests/conformance_input_tests:media-button-conformance-test-component" |
| test_component_name = "media-button-conformance-test.cm" |
| subpackages = [ |
| test_info.target_label, |
| "//src/ui/testing/context:ui-context-factory", |
| ] |
| test_specs = { |
| log_settings = { |
| max_severity = "ERROR" |
| } |
| environments = [ |
| { |
| dimensions = { |
| # Ensure the device has Vulkan. |
| device_type = "AEMU" |
| } |
| }, |
| ] |
| } |
| } |
| } |
| |
| template("generate_flatland-allocation-test-suite") { |
| forward_variables_from(invoker, |
| [ |
| "test_info", |
| "fidl_coverage", |
| ]) |
| generate_scenic_test_base(target_name) { |
| test_component = "//src/ui/scenic/tests:flatland-allocation-test-component" |
| test_component_name = "flatland-allocation-test.cm" |
| target_test_info = test_info |
| fidl_coverage = fidl_coverage |
| } |
| } |
| |
| template("generate_flatland-touch-integration-test-suite") { |
| forward_variables_from(invoker, |
| [ |
| "test_info", |
| "fidl_coverage", |
| ]) |
| generate_scenic_test_base(target_name) { |
| test_component = |
| "//src/ui/scenic/tests:flatland-touch-integration-test-component" |
| test_component_name = "flatland-touch-integration-test.cm" |
| target_test_info = test_info |
| fidl_coverage = fidl_coverage |
| } |
| } |
| |
| template("generate_flatland-transformed-touch-integration-test-suite") { |
| forward_variables_from(invoker, |
| [ |
| "test_info", |
| "fidl_coverage", |
| ]) |
| generate_scenic_test_base(target_name) { |
| test_component = "//src/ui/scenic/tests:flatland-transformed-touch-integration-test-component" |
| test_component_name = "flatland-transformed-touch-integration-test.cm" |
| target_test_info = test_info |
| fidl_coverage = fidl_coverage |
| } |
| } |
| |
| template("generate_flatland-focus-integration-test-suite") { |
| forward_variables_from(invoker, |
| [ |
| "test_info", |
| "fidl_coverage", |
| ]) |
| generate_scenic_test_base(target_name) { |
| test_component = |
| "//src/ui/scenic/tests:flatland-focus-integration-test-component" |
| test_component_name = "flatland-focus-integration-test.cm" |
| target_test_info = test_info |
| fidl_coverage = fidl_coverage |
| } |
| } |
| |
| template("generate_flatland-auto-focus-integration-test-suite") { |
| forward_variables_from(invoker, |
| [ |
| "test_info", |
| "fidl_coverage", |
| ]) |
| generate_scenic_test_base(target_name) { |
| test_component = |
| "//src/ui/scenic/tests:flatland-auto-focus-integration-test-component" |
| test_component_name = "flatland-auto-focus-integration-test.cm" |
| target_test_info = test_info |
| fidl_coverage = fidl_coverage |
| } |
| } |
| |
| template("generate_flatland-child-focus-integration-test-suite") { |
| forward_variables_from(invoker, |
| [ |
| "test_info", |
| "fidl_coverage", |
| ]) |
| generate_scenic_test_base(target_name) { |
| test_component = |
| "//src/ui/scenic/tests:flatland-child-focus-integration-test-component" |
| test_component_name = "flatland-child-focus-integration-test.cm" |
| target_test_info = test_info |
| fidl_coverage = fidl_coverage |
| } |
| } |
| |
| template("generate_flatland-view-ref-installed-integration-test-suite") { |
| forward_variables_from(invoker, |
| [ |
| "test_info", |
| "fidl_coverage", |
| ]) |
| fuchsia_package_with_test(target_name) { |
| test_component = "//src/ui/scenic/tests:flatland-view-ref-installed-integration-test-component" |
| test_component_name = "flatland-view-ref-installed-integration-test.cm" |
| subpackages = [ |
| test_info.target_label, |
| "//src/ui/testing/scenic_realm_factory:pkg", |
| ] |
| test_specs = { |
| environments = [ |
| astro_env, |
| sherlock_env, |
| nelson_env, |
| ] |
| log_settings = { |
| max_severity = "ERROR" |
| } |
| } |
| } |
| } |
| |
| template("generate_flatland-view-integration-test-suite") { |
| forward_variables_from(invoker, |
| [ |
| "test_info", |
| "fidl_coverage", |
| ]) |
| generate_scenic_test_base(target_name) { |
| test_component = |
| "//src/ui/scenic/tests:flatland-view-integration-test-component" |
| test_component_name = "flatland-view-integration-test.cm" |
| target_test_info = test_info |
| fidl_coverage = fidl_coverage |
| } |
| } |
| |
| template("generate_cpu-renderer-integration-test-suite") { |
| forward_variables_from(invoker, |
| [ |
| "test_info", |
| "fidl_coverage", |
| ]) |
| fuchsia_package_with_test(target_name) { |
| test_component = |
| "//src/ui/scenic/tests:cpu-renderer-integration-test-component" |
| test_component_name = "cpu-renderer-integration-test.cm" |
| subpackages = [ |
| test_info.target_label, |
| "//src/ui/testing/scenic_realm_factory:pkg", |
| ] |
| test_specs = { |
| log_settings = { |
| max_severity = "ERROR" |
| } |
| } |
| } |
| } |
| |
| template("generate_null-renderer-integration-test-suite") { |
| forward_variables_from(invoker, |
| [ |
| "test_info", |
| "fidl_coverage", |
| ]) |
| fuchsia_package_with_test(target_name) { |
| test_component = |
| "//src/ui/scenic/tests:null-renderer-integration-test-component" |
| test_component_name = "null-renderer-integration-test.cm" |
| subpackages = [ |
| test_info.target_label, |
| "//src/ui/testing/scenic_realm_factory:pkg", |
| ] |
| test_specs = { |
| log_settings = { |
| max_severity = "ERROR" |
| } |
| } |
| } |
| } |
| |
| template("generate_observer-registry-integration-test-suite") { |
| forward_variables_from(invoker, |
| [ |
| "test_info", |
| "fidl_coverage", |
| ]) |
| generate_scenic_test_base(target_name) { |
| test_component = |
| "//src/ui/scenic/tests:observer-registry-integration-test-component" |
| test_component_name = "observer-registry-integration-test.cm" |
| target_test_info = test_info |
| fidl_coverage = fidl_coverage |
| } |
| } |
| |
| template("generate_scoped-observer-registry-integration-test-suite") { |
| forward_variables_from(invoker, |
| [ |
| "test_info", |
| "fidl_coverage", |
| ]) |
| generate_scenic_test_base(target_name) { |
| test_component = "//src/ui/scenic/tests:scoped-observer-registry-integration-test-component" |
| test_component_name = "scoped-observer-registry-integration-test.cm" |
| target_test_info = test_info |
| fidl_coverage = fidl_coverage |
| } |
| } |
| |
| template("generate_flatland-protected-memory-integration-test-suite") { |
| forward_variables_from(invoker, |
| [ |
| "test_info", |
| "fidl_coverage", |
| ]) |
| fuchsia_package_with_test(target_name) { |
| test_component = "//src/ui/scenic/tests:flatland-protected-memory-integration-test-component" |
| test_component_name = "flatland-protected-memory-integration-test.cm" |
| subpackages = [ |
| test_info.target_label, |
| "//src/ui/testing/scenic_realm_factory:pkg", |
| ] |
| test_specs = { |
| environments = [ |
| astro_env, |
| sherlock_env, |
| nelson_env, |
| ] |
| log_settings = { |
| max_severity = "ERROR" |
| } |
| } |
| } |
| } |
| |
| template("generate_screen-capture-integration-test-suite") { |
| forward_variables_from(invoker, |
| [ |
| "test_info", |
| "fidl_coverage", |
| ]) |
| generate_scenic_test_base(target_name) { |
| test_component = |
| "//src/ui/scenic/tests:screen-capture-integration-test-component" |
| test_component_name = "screen-capture-integration-test.cm" |
| target_test_info = test_info |
| fidl_coverage = fidl_coverage |
| } |
| } |
| |
| template("generate_screen-capture2-integration-test-suite") { |
| forward_variables_from(invoker, |
| [ |
| "test_info", |
| "fidl_coverage", |
| ]) |
| generate_scenic_test_base(target_name) { |
| test_component = |
| "//src/ui/scenic/tests:screen-capture2-integration-test-component" |
| test_component_name = "screen-capture2-integration-test.cm" |
| target_test_info = test_info |
| fidl_coverage = fidl_coverage |
| } |
| } |
| |
| template("generate_display-ownership-integration-test-suite") { |
| forward_variables_from(invoker, |
| [ |
| "test_info", |
| "fidl_coverage", |
| ]) |
| generate_scenic_test_base(target_name) { |
| test_component = |
| "//src/ui/scenic/tests:display-ownership-integration-test-component" |
| test_component_name = "display-ownership-integration-test.cm" |
| target_test_info = test_info |
| fidl_coverage = fidl_coverage |
| } |
| } |
| |
| template("generate_singleton-display-integration-test-suite") { |
| forward_variables_from(invoker, |
| [ |
| "test_info", |
| "fidl_coverage", |
| ]) |
| generate_scenic_test_base(target_name) { |
| test_component = |
| "//src/ui/scenic/tests:singleton-display-integration-test-component" |
| test_component_name = "singleton-display-integration-test.cm" |
| target_test_info = test_info |
| fidl_coverage = fidl_coverage |
| } |
| } |
| |
| template("generate_flatland-mouse-integration-test-suite") { |
| forward_variables_from(invoker, |
| [ |
| "test_info", |
| "fidl_coverage", |
| ]) |
| generate_scenic_test_base(target_name) { |
| test_component = |
| "//src/ui/scenic/tests:flatland-mouse-integration-test-component" |
| test_component_name = "flatland-mouse-integration-test.cm" |
| target_test_info = test_info |
| fidl_coverage = fidl_coverage |
| } |
| } |
| |
| template("generate_flatland-mouse-wheel-integration-test-suite") { |
| forward_variables_from(invoker, |
| [ |
| "test_info", |
| "fidl_coverage", |
| ]) |
| generate_scenic_test_base(target_name) { |
| test_component = |
| "//src/ui/scenic/tests:flatland-mouse-wheel-integration-test-component" |
| test_component_name = "flatland-mouse-wheel-integration-test.cm" |
| target_test_info = test_info |
| fidl_coverage = fidl_coverage |
| } |
| } |
| |
| template("generate_flatland-mouse-hit-integration-test-suite") { |
| forward_variables_from(invoker, |
| [ |
| "test_info", |
| "fidl_coverage", |
| ]) |
| generate_scenic_test_base(target_name) { |
| test_component = |
| "//src/ui/scenic/tests:flatland-mouse-hit-integration-test-component" |
| test_component_name = "flatland-mouse-hit-integration-test.cm" |
| target_test_info = test_info |
| fidl_coverage = fidl_coverage |
| } |
| } |
| |
| template("generate_flatland-pixeltest-general-suite") { |
| forward_variables_from(invoker, |
| [ |
| "test_info", |
| "fidl_coverage", |
| ]) |
| generate_scenic_test_base(target_name) { |
| test_component = |
| "//src/ui/scenic/tests:flatland-pixeltest-general-component" |
| test_component_name = "flatland-pixeltest-general.cm" |
| target_test_info = test_info |
| fidl_coverage = fidl_coverage |
| } |
| } |
| |
| template("generate_flatland-pixeltest-flip-and-orientation-suite") { |
| forward_variables_from(invoker, |
| [ |
| "test_info", |
| "fidl_coverage", |
| ]) |
| generate_scenic_test_base(target_name) { |
| test_component = "//src/ui/scenic/tests:flatland-pixeltest-flip-and-orientation-component" |
| test_component_name = "flatland-pixeltest-flip-and-orientation.cm" |
| target_test_info = test_info |
| fidl_coverage = fidl_coverage |
| } |
| } |
| |
| template("generate_flatland-pixeltest-flip-and-orientation-rgba-suite") { |
| forward_variables_from(invoker, |
| [ |
| "test_info", |
| "fidl_coverage", |
| ]) |
| generate_scenic_test_base(target_name) { |
| test_component = "//src/ui/scenic/tests:flatland-pixeltest-flip-and-orientation-rgba-component" |
| test_component_name = "flatland-pixeltest-flip-and-orientation-rgba.cm" |
| target_test_info = test_info |
| fidl_coverage = fidl_coverage |
| } |
| } |
| |
| template("generate_flatland-pixeltest-opacity-suite") { |
| forward_variables_from(invoker, |
| [ |
| "test_info", |
| "fidl_coverage", |
| ]) |
| generate_scenic_test_base(target_name) { |
| test_component = |
| "//src/ui/scenic/tests:flatland-pixeltest-opacity-component" |
| test_component_name = "flatland-pixeltest-opacity.cm" |
| target_test_info = test_info |
| fidl_coverage = fidl_coverage |
| } |
| } |
| |
| template("generate_flatland-pixeltest-screenshot-format-suite") { |
| forward_variables_from(invoker, |
| [ |
| "test_info", |
| "fidl_coverage", |
| ]) |
| generate_scenic_test_base(target_name) { |
| test_component = |
| "//src/ui/scenic/tests:flatland-pixeltest-screenshot-format-component" |
| test_component_name = "flatland-pixeltest-screenshot-format.cm" |
| target_test_info = test_info |
| fidl_coverage = fidl_coverage |
| } |
| } |
| |
| template("generate_flatland-pixeltest-srgb-suite") { |
| forward_variables_from(invoker, |
| [ |
| "test_info", |
| "fidl_coverage", |
| ]) |
| generate_scenic_test_base(target_name) { |
| test_component = "//src/ui/scenic/tests:flatland-pixeltest-srgb-component" |
| test_component_name = "flatland-pixeltest-srgb.cm" |
| target_test_info = test_info |
| fidl_coverage = fidl_coverage |
| } |
| } |
| |
| template("generate_flatland-pixeltest-yuv-suite") { |
| forward_variables_from(invoker, |
| [ |
| "test_info", |
| "fidl_coverage", |
| ]) |
| fuchsia_package_with_test(target_name) { |
| test_component = "//src/ui/scenic/tests:flatland-pixeltest-yuv-component" |
| test_component_name = "flatland-pixeltest-yuv.cm" |
| subpackages = [ |
| test_info.target_label, |
| "//src/ui/testing/scenic_realm_factory:pkg", |
| ] |
| test_specs = { |
| # TODO(https://fxbug.dev/42137913): Skip this test for AEMU as YUV Sysmem images are not supported yet. |
| environments = magma_libvulkan_hardware_envs |
| log_settings = { |
| max_severity = "ERROR" |
| } |
| } |
| } |
| } |
| |
| template("generate_trusted-flatland-factory-integration-test-suite") { |
| forward_variables_from(invoker, |
| [ |
| "test_info", |
| "fidl_coverage", |
| ]) |
| generate_scenic_test_base(target_name) { |
| test_component = "//src/ui/scenic/tests:trusted-flatland-factory-integration-test-component" |
| test_component_name = "trusted-flatland-factory-integration-test.cm" |
| target_test_info = test_info |
| fidl_coverage = fidl_coverage |
| } |
| } |
| |
| # Expands a prebuilt CTF test into a runnable fuchsia package. |
| # |
| # This template is called several times with every combination of ctf_test and |
| # api_level, where api_level is a supported API level and ctf_test is a prebuilt |
| # CTF package in the current checkout. |
| # |
| # CTF Test Authors: Do not modify this. See the comments at the top of this file. |
| template("generate_ctf_test") { |
| assert(defined(invoker.api_level), "api_level is required") |
| assert(defined(invoker.prebuilt_package), "prebuilt_package is required") |
| |
| prebuilt_package = invoker.prebuilt_package |
| api_level = invoker.api_level |
| |
| use_prebuilts_from_current_build = false |
| if (defined(invoker.use_prebuilts_from_current_build)) { |
| use_prebuilts_from_current_build = invoker.use_prebuilts_from_current_build |
| } |
| |
| prebuilt_package_label = "//sdk/ctf/release/packages:$target_name" |
| |
| if (use_prebuilts_from_current_build) { |
| prebuilt_package_name = ":${target_name}_prebuilt_from_current_build" |
| prebuilt_package_label = ":$prebuilt_package_name" |
| |
| generate_ctf_package(prebuilt_package_name) { |
| testonly = true |
| package_name = prebuilt_package.package_name |
| archive_path = "$root_build_dir/cts/${prebuilt_package.archive_name}.far" |
| deps = [ "${prebuilt_package.archive_gn_label}($default_toolchain)" ] |
| } |
| } |
| |
| target("generate_${prebuilt_package.package_name}", target_name) { |
| # fidl_coverage will be forwarded in each "generate_foo" target defined above. |
| # It can be un-forwarded to disable it for a specific test, or set to false |
| # here to disable it for all tests. |
| fidl_coverage = api_level == "_in_development" |
| |
| # If you change these properties, change the docs at the top of this file. |
| test_info = { |
| name = prebuilt_package.package_name |
| target_label = prebuilt_package_label |
| target_api_level = api_level |
| if (defined(prebuilt_package.test_component_names)) { |
| test_component_names = prebuilt_package.test_component_names |
| } |
| } |
| } |
| } |
| |
| # Generates test targets for prebuilt CTF tests at the given API level. |
| # |
| # Parameters |
| # |
| # api_level (required) |
| # The target API level. |
| # Type: int |
| # |
| # manifest (required) |
| # The path to package_archives.json |
| # Type: path |
| # |
| # use_prebuilts_from_current_build |
| # Generates tests using the prebuilt CTF test packages generated by the |
| # current local build instead of ones from a previous CTF release. This |
| # should only be set to true as a presubmit check when new tests are added |
| # to CTF. |
| # Type: bool |
| # Default: false |
| # |
| # CTF Test Authors: Do not modify this. See the comments at the top of this file. |
| template("generate_ctf_tests") { |
| assert(defined(invoker.api_level)) |
| assert(defined(invoker.manifest)) |
| |
| manifest = invoker.manifest |
| tests = [] |
| |
| foreach(prebuilt_package, read_file(manifest, "json")) { |
| test_name = "${prebuilt_package.package_name}_ctf${invoker.api_level}" |
| generate_ctf_test(test_name) { |
| forward_variables_from(invoker, |
| [ |
| "api_level", |
| "prebuilt_package", |
| "use_prebuilts_from_current_build", |
| ]) |
| } |
| tests += [ ":$test_name" ] |
| } |
| |
| group(target_name) { |
| forward_variables_from(invoker, [ "deps" ]) |
| if (!defined(deps)) { |
| deps = [] |
| } |
| testonly = true |
| deps += tests |
| } |
| } |