blob: b8d41d8312a320087ea7247d5eebea94f93d68ed [file] [log] [blame] [edit]
# 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.
import("//build/fidl/toolchain.gni")
import("//build/images/tools/fastboot.gni")
import("//build/python/python_library.gni")
import("//build/testing/host_test_data.gni")
import("//sdk/categories/compatibility.gni")
group("honeydew") {
testonly = true
deps = [ ":honeydew_no_testonly" ]
}
python_library("honeydew_no_testonly") {
# In-tree-only tests should prefer ":honeydew" because that enforces that only
# testonly code uses regular Honeydew. This target should be used for tests or
# dependencies of tests that are packaged into the SDK, since they cannot be
# testonly.
visibility = [
":*",
"//src/testing/end_to_end/mobly_controller:*",
# SDK-based test targets listed below.
"//src/tests/end_to_end/rtc:*",
]
library_name = "honeydew"
source_root = "//src/testing/end_to_end/honeydew/honeydew"
sources = [
"__init__.py",
"affordances/__init__.py",
"affordances/affordance.py",
"affordances/connectivity/bluetooth/__init__.py",
"affordances/connectivity/bluetooth/avrcp/__init__.py",
"affordances/connectivity/bluetooth/avrcp/avrcp.py",
"affordances/connectivity/bluetooth/avrcp/avrcp_using_sl4f.py",
"affordances/connectivity/bluetooth/bluetooth_common/__init__.py",
"affordances/connectivity/bluetooth/bluetooth_common/bluetooth_common.py",
"affordances/connectivity/bluetooth/bluetooth_common/bluetooth_common_using_fc.py",
"affordances/connectivity/bluetooth/bluetooth_common/bluetooth_common_using_sl4f.py",
"affordances/connectivity/bluetooth/gap/__init__.py",
"affordances/connectivity/bluetooth/gap/gap.py",
"affordances/connectivity/bluetooth/gap/gap_using_fc.py",
"affordances/connectivity/bluetooth/le/__init__.py",
"affordances/connectivity/bluetooth/le/le.py",
"affordances/connectivity/bluetooth/le/le_using_fc.py",
"affordances/connectivity/bluetooth/utils/__init__.py",
"affordances/connectivity/bluetooth/utils/errors.py",
"affordances/connectivity/bluetooth/utils/fidl_servers/__init__.py",
"affordances/connectivity/bluetooth/utils/fidl_servers/bt_fidl_servers.py",
"affordances/connectivity/bluetooth/utils/types.py",
"affordances/connectivity/netstack/__init__.py",
"affordances/connectivity/netstack/errors.py",
"affordances/connectivity/netstack/netstack.py",
"affordances/connectivity/netstack/netstack_using_fc.py",
"affordances/connectivity/netstack/types.py",
"affordances/connectivity/wlan/__init__.py",
"affordances/connectivity/wlan/utils/errors.py",
"affordances/connectivity/wlan/utils/types.py",
"affordances/connectivity/wlan/wlan_core/__init__.py",
"affordances/connectivity/wlan/wlan_core/wlan_core.py",
"affordances/connectivity/wlan/wlan_core/wlan_core_using_fc.py",
"affordances/connectivity/wlan/wlan_policy/__init__.py",
"affordances/connectivity/wlan/wlan_policy/wlan_policy.py",
"affordances/connectivity/wlan/wlan_policy/wlan_policy_using_fc.py",
"affordances/connectivity/wlan/wlan_policy_ap/__init__.py",
"affordances/connectivity/wlan/wlan_policy_ap/wlan_policy_ap.py",
"affordances/connectivity/wlan/wlan_policy_ap/wlan_policy_ap_using_fc.py",
"affordances/hello_world/__init__.py",
"affordances/hello_world/errors.py",
"affordances/hello_world/hello_world.py",
"affordances/hello_world/hello_world_using_ffx.py",
"affordances/location/__init__.py",
"affordances/location/errors.py",
"affordances/location/location.py",
"affordances/location/location_using_fc.py",
"affordances/power/__init__.py",
"affordances/power/system_power_state_controller/__init__.py",
"affordances/power/system_power_state_controller/system_power_state_controller.py",
"affordances/power/system_power_state_controller/system_power_state_controller_using_starnix.py",
"affordances/rtc/__init__.py",
"affordances/rtc/errors.py",
"affordances/rtc/rtc.py",
"affordances/rtc/rtc_using_fc.py",
"affordances/session/__init__.py",
"affordances/session/errors.py",
"affordances/session/session.py",
"affordances/session/session_using_ffx.py",
"affordances/starnix/__init__.py",
"affordances/starnix/errors.py",
"affordances/starnix/starnix.py",
"affordances/starnix/starnix_using_ffx.py",
"affordances/tracing/__init__.py",
"affordances/tracing/errors.py",
"affordances/tracing/tracing.py",
"affordances/tracing/tracing_using_fc.py",
"affordances/ui/screenshot/__init__.py",
"affordances/ui/screenshot/screenshot.py",
"affordances/ui/screenshot/screenshot_using_ffx.py",
"affordances/ui/screenshot/types.py",
"affordances/ui/user_input/__init__.py",
"affordances/ui/user_input/errors.py",
"affordances/ui/user_input/types.py",
"affordances/ui/user_input/user_input.py",
"affordances/ui/user_input/user_input_using_fc.py",
"affordances/virtual_audio/__init__.py",
"affordances/virtual_audio/audio.py",
"affordances/virtual_audio/audio_using_fuchsia_controller.py",
"affordances/virtual_audio/errors.py",
"affordances/virtual_audio/types.py",
"affordances_capable.py",
"auxiliary_devices/__init__.py",
"auxiliary_devices/power_switch/__init__.py",
"auxiliary_devices/power_switch/power_switch.py",
"auxiliary_devices/power_switch/power_switch_using_dmc.py",
"auxiliary_devices/power_switch/power_switch_using_pdu.py",
"auxiliary_devices/usb_power_hub/__init__.py",
"auxiliary_devices/usb_power_hub/usb_power_hub.py",
"auxiliary_devices/usb_power_hub/usb_power_hub_using_dmc.py",
"errors.py",
"fuchsia_device/__init__.py",
"fuchsia_device/fuchsia_device.py",
"fuchsia_device/fuchsia_device_impl.py",
"transports/__init__.py",
"transports/fastboot/__init__.py",
"transports/fastboot/errors.py",
"transports/fastboot/fastboot.py",
"transports/fastboot/fastboot_impl.py",
"transports/ffx/__init__.py",
"transports/ffx/config.py",
"transports/ffx/errors.py",
"transports/ffx/ffx.py",
"transports/ffx/ffx_impl.py",
"transports/ffx/types.py",
"transports/fuchsia_controller/__init__.py",
"transports/fuchsia_controller/errors.py",
"transports/fuchsia_controller/fuchsia_controller.py",
"transports/fuchsia_controller/fuchsia_controller_impl.py",
"transports/serial/__init__.py",
"transports/serial/errors.py",
"transports/serial/serial.py",
"transports/serial/serial_using_unix_socket.py",
"transports/sl4f/__init__.py",
"transports/sl4f/errors.py",
"transports/sl4f/sl4f.py",
"transports/sl4f/sl4f_impl.py",
"typing/__init__.py",
"typing/custom_types.py",
"utils/__init__.py",
"utils/common.py",
"utils/control_flows.py",
"utils/decorators.py",
"utils/host_shell.py",
"utils/http_utils.py",
"utils/inspect.py",
"utils/properties.py",
"utils/screenshot.py",
]
library_deps = [
":honeydew_ffx_tool_deps",
":honeydew_fidl_ir_and_deps",
"//src/lib/diagnostics/python/fuchsia_inspect",
"//third_party/pypng",
]
data_package_name = "data"
data_sources = [ "${prebuilt_fastboot}" ]
# Ensure all FIDL dependencies meet the compatibility and stability
# requirements.
# There are currently exceptions for host tests: https://fxbug.dev/326090508.
# Host tests in the IDK can depend on SDK categories up to "host_tool".
assert_no_deps = markers_partner_idk_host_tools_must_not_depend_on
}
# FFX tools that will be used in Honeydew.
group("honeydew_ffx_tool_deps") {
# Needed for SDK inclusion.
testonly = false
deps = [
"//src/developer/ffx/plugins/inspect:ffx_inspect_tool_test_data",
"//src/developer/ffx/plugins/log:ffx_log_tool_test_data",
"//src/developer/ffx/plugins/session:ffx_session_tool_test_data",
"//src/developer/ffx/plugins/test:ffx_test_tool_test_data",
"//src/developer/ffx/tools/monitor:ffx_monitor_test_data",
"//src/developer/ffx/tools/starnix:ffx_starnix_test_data",
]
}
# FIDL dependencies that will be used in Honeydew using Fuchsia-Controller.
group("honeydew_fidl_ir_and_deps") {
# Needed for SDK inclusion.
testonly = false
deps = [
"//sdk/fidl/fuchsia.bluetooth.gatt2:fuchsia.bluetooth.gatt2_python",
"//sdk/fidl/fuchsia.bluetooth.le:fuchsia.bluetooth.le_python",
"//sdk/fidl/fuchsia.bluetooth.sys:fuchsia.bluetooth.sys_python",
"//sdk/fidl/fuchsia.buildinfo:fuchsia.buildinfo_python",
"//sdk/fidl/fuchsia.developer.remotecontrol:fuchsia.developer.remotecontrol_python",
"//sdk/fidl/fuchsia.diagnostics.types:fuchsia.diagnostics.types_python",
"//sdk/fidl/fuchsia.feedback:fuchsia.feedback_python",
"//sdk/fidl/fuchsia.hardware.power.statecontrol:fuchsia.hardware.power.statecontrol_python",
"//sdk/fidl/fuchsia.hardware.rtc:fuchsia.hardware.rtc_python",
"//sdk/fidl/fuchsia.hwinfo:fuchsia.hwinfo_python",
"//sdk/fidl/fuchsia.io:fuchsia.io_python",
"//sdk/fidl/fuchsia.location.namedplace:fuchsia.location.namedplace_python",
"//sdk/fidl/fuchsia.net.interfaces:fuchsia.net.interfaces_python",
"//sdk/fidl/fuchsia.net.root:fuchsia.net.root_python",
"//sdk/fidl/fuchsia.tracing.controller:fuchsia.tracing.controller_python",
"//sdk/fidl/fuchsia.ui.test.input:fuchsia.ui.test.input_python",
"//sdk/fidl/fuchsia.wlan.device.service:fuchsia.wlan.device.service_python",
"//sdk/fidl/fuchsia.wlan.policy:fuchsia.wlan.policy_python",
"//src/testing/sl4f/fidl:fuchsia.test.audio_python",
]
}
# SL4F packages
group("sl4f_packages") {
testonly = true
public_deps = [
"//src/sys/bin/start_sl4f",
"//src/testing/sl4f",
]
}
# Honeydew unit tests
# Command to run unit tests:
# fx set core.x64 --with-host //src/testing/end_to_end/honeydew:unit_tests
# fx test //src/testing/end_to_end/honeydew --host --output
group("unit_tests") {
testonly = true
public_deps = []
if (host_os != "mac") {
public_deps += [
"honeydew/affordances/connectivity/bluetooth/avrcp/tests/unit_tests:tests",
"honeydew/affordances/connectivity/bluetooth/bluetooth_common/tests/unit_tests:tests",
"honeydew/affordances/connectivity/bluetooth/gap/tests/unit_tests:tests",
"honeydew/affordances/connectivity/bluetooth/le/tests/unit_tests:tests",
"honeydew/affordances/connectivity/bluetooth/utils/tests/unit_tests:tests",
"honeydew/affordances/connectivity/netstack/tests/unit_tests:tests",
"honeydew/affordances/connectivity/wlan/utils/tests/unit_tests:tests",
"honeydew/affordances/connectivity/wlan/wlan_core/tests/unit_tests:tests",
"honeydew/affordances/connectivity/wlan/wlan_policy/tests/unit_tests:tests",
"honeydew/affordances/connectivity/wlan/wlan_policy_ap/tests/unit_tests:tests",
"honeydew/affordances/hello_world/tests/unit_tests:tests",
"honeydew/affordances/location/tests/unit_tests:tests",
"honeydew/affordances/power/system_power_state_controller/tests/unit_tests:tests",
"honeydew/affordances/rtc/tests/unit_tests:tests",
"honeydew/affordances/session/tests/unit_tests:tests",
"honeydew/affordances/starnix/tests/unit_tests:tests",
"honeydew/affordances/tracing/tests/unit_tests:tests",
"honeydew/affordances/ui/screenshot/tests/unit_tests:tests",
"honeydew/affordances/ui/user_input/tests/unit_tests:tests",
"honeydew/auxiliary_devices/power_switch/tests/unit_tests:tests",
"honeydew/auxiliary_devices/usb_power_hub/tests/unit_tests:tests",
"honeydew/fuchsia_device/tests/unit_tests:tests",
"honeydew/transports/fastboot/tests/unit_tests:tests",
"honeydew/transports/ffx/tests/unit_tests:tests",
"honeydew/transports/fuchsia_controller/tests/unit_tests:tests",
"honeydew/transports/serial/tests/unit_tests:tests",
"honeydew/transports/sl4f/tests/unit_tests:tests",
"honeydew/utils/tests/unit_tests:tests($host_toolchain)",
"tests/unit_tests:tests",
]
}
}
# Honeydew functional tests
group("functional_tests") {
testonly = true
public_deps = []
if (host_os != "mac") {
public_deps += [
"honeydew/affordances/connectivity/bluetooth/avrcp/tests/functional_tests:tests",
"honeydew/affordances/connectivity/bluetooth/gap/tests/functional_tests:tests",
"honeydew/affordances/connectivity/netstack/tests/functional_tests:tests",
"honeydew/affordances/connectivity/wlan/wlan_core/tests/functional_tests",
"honeydew/affordances/connectivity/wlan/wlan_policy/tests/functional_tests",
"honeydew/affordances/connectivity/wlan/wlan_policy_ap/tests/functional_tests",
"honeydew/affordances/hello_world/tests/functional_tests:tests",
"honeydew/affordances/location/tests/functional_tests:tests",
"honeydew/affordances/power/system_power_state_controller/tests/functional_tests/test_system_power_state_controller:tests",
"honeydew/affordances/rtc/tests/functional_tests:tests",
"honeydew/affordances/session/tests/functional_tests:tests",
"honeydew/affordances/starnix/tests/functional_tests:tests",
"honeydew/affordances/tracing/tests/functional_tests:tests",
"honeydew/affordances/ui/screenshot/tests/functional_tests:tests",
"honeydew/affordances/ui/user_input/tests/functional_tests:tests",
"honeydew/affordances/virtual_audio/tests/functional_tests:tests",
"honeydew/auxiliary_devices/power_switch/tests/functional_tests:tests",
"honeydew/auxiliary_devices/usb_power_hub/tests/functional_tests:tests",
"honeydew/fuchsia_device/tests/functional_tests:tests",
"honeydew/transports/fastboot/tests/functional_tests:tests",
"honeydew/transports/ffx/tests/functional_tests:tests",
"honeydew/transports/serial/tests/functional_tests:tests",
]
}
}