| # Copyright 2024 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/python/python_host_test.gni") |
| import("//build/python/python_mobly_test.gni") |
| |
| # Please do not use this template outside of CTF. |
| # |
| # Some CTF device-side tests need to be wrapped in a Lacewing wrapper to |
| # snoop their FIDL activity. This template builds the host-side test |
| # for that, which deps on the device-side test. |
| |
| # This requires device_test_target_name so that name can be a `deps` of the mobly test. |
| # Optional parameter: device_test_realm defaults to "/core/testing/ctf-tests" |
| |
| template("lacewing_fidl_wrapper") { |
| if (is_host) { |
| assert(defined(invoker.device_test_target_name), |
| "device_test_target_name should be defined") |
| python_mobly_test(target_name) { |
| testonly = true |
| main_source = "//sdk/ctf/build/scripts/snoop_fidl.py" |
| libraries = [ |
| "//src/testing/end_to_end/mobly_base_tests:fuchsia_base_test", |
| "//src/performance/lib/trace_processing", |
| ] |
| deps = [ ":${invoker.device_test_target_name}" ] |
| test_data_deps = |
| [ "//src/developer/ffx/plugins/trace:ffx_trace_tool_test_data" ] |
| if (defined(invoker.deps)) { |
| deps += invoker.deps |
| } |
| forward_variables_from(invoker, [ "package_deps" ]) |
| if (defined(invoker.device_test_realm)) { |
| _device_test_realm = invoker.device_test_realm |
| } else { |
| _device_test_realm = "/core/testing/ctf-tests" |
| } |
| params = { |
| device_test_url = invoker.device_test_url |
| device_test_realm = _device_test_realm |
| } |
| if (defined(invoker.test_specs)) { |
| _test_specs = invoker.test_specs |
| if (defined(_test_specs.environments)) { |
| environments = _test_specs.environments |
| } |
| if (defined(_test_specs.log_settings)) { |
| _log_settings = _test_specs.log_settings |
| if (defined(_log_settings.min_severity)) { |
| params.min_severity = _log_settings.min_severity |
| } |
| if (defined(_log_settings.max_severity)) { |
| params.max_severity = _log_settings.max_severity |
| } |
| } |
| } |
| } |
| } else { |
| not_needed([ "target_name" ]) |
| not_needed(invoker, |
| [ |
| "deps", |
| "device_test_realm", |
| "device_test_target_name", |
| "device_test_url", |
| "package_deps", |
| "test_specs", |
| ]) |
| } |
| } |