| # Copyright 2019 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/bind/bind.gni") |
| import("//build/components.gni") |
| import("//build/drivers.gni") |
| import("//src/lib/isolated_devmgr/isolated_devmgr.gni") |
| |
| source_set("src") { |
| testonly = true |
| sources = [ |
| "isolated_devmgr.cc", |
| "isolated_devmgr.h", |
| ] |
| |
| public_deps = [ "//zircon/system/ulib/devmgr-integration-test" ] |
| |
| deps = [ |
| "//sdk/lib/device-watcher/cpp", |
| "//sdk/lib/fdio", |
| "//sdk/lib/fit", |
| "//sdk/lib/sys/cpp", |
| "//src/lib/ddk", |
| "//src/lib/ddk:ddk-metadata-headers", |
| "//src/lib/fxl", |
| "//zircon/system/ulib/async:async-cpp", |
| "//zircon/system/ulib/async-loop:async-loop-cpp", |
| "//zircon/system/ulib/async-loop:async-loop-default", |
| "//zircon/system/ulib/fbl", |
| "//zircon/system/ulib/fdio-caller", |
| "//zircon/system/ulib/fzl", |
| "//zircon/system/ulib/inspector", |
| "//zircon/system/ulib/zx", |
| ] |
| } |
| |
| executable("isolated_devmgr") { |
| testonly = true |
| output_name = "isolated_devmgr" |
| |
| sources = [ "main.cc" ] |
| |
| deps = [ |
| ":src", |
| "//sdk/fidl/fuchsia.io:fuchsia.io_llcpp", |
| "//sdk/lib/fdio", |
| "//sdk/lib/fit", |
| "//sdk/lib/sys/cpp", |
| "//src/lib/ddk", |
| "//src/lib/fxl", |
| "//zircon/system/ulib/async:async-cpp", |
| "//zircon/system/ulib/async-loop:async-loop-cpp", |
| "//zircon/system/ulib/async-loop:async-loop-default", |
| "//zircon/system/ulib/devmgr-integration-test", |
| "//zircon/system/ulib/fbl", |
| ] |
| |
| # These binaries are used by isolated_devmgr at runtime and should be |
| # present in the same package. |
| data_deps = [ |
| "//src/devices/bin/driver_host", |
| "//src/devices/bin/driver_manager", |
| "//src/storage/fshost", |
| ] |
| |
| # STOP: Do not add any new entries to this allow list. Use //sdk/lib/driver_test_realm instead. |
| visibility = [ |
| "//src/bringup/bin/device-name-provider/tests/*", |
| "//src/connectivity/network/testing/netemul/runner/*", |
| "//src/connectivity/openthread/tests/ot-devmgr/*", |
| "//src/connectivity/telephony/lib/tel-devmgr/*", |
| "//src/connectivity/wlan/testing/wlan-devmgr/*", |
| "//src/devices/bus/drivers/platform/test/*", |
| "//src/diagnostics/validator/logs/ddk/sink/*", |
| "//src/lib:lib", |
| "//src/lib/isolated_devmgr/*", |
| "//src/lib/storage/ramdevice_client/rust/*", |
| "//src/media/audio/lib/audio_test_devmgr/*", |
| "//vendor/*", |
| ] |
| |
| metadata = { |
| # Tests that use isolated_devmgr require the following capabilities |
| test_component_manifest_cmx = [ |
| { |
| sandbox = { |
| services = [ |
| "fuchsia.exception.Handler", |
| "fuchsia.process.Launcher", |
| ] |
| } |
| }, |
| ] |
| } |
| } |
| |
| static_library("usb-virtual-bus") { |
| testonly = true |
| sources = [ |
| "usb-virtual-bus-helper.cc", |
| "usb-virtual-bus-helper.h", |
| "usb-virtual-bus.cc", |
| "usb-virtual-bus.h", |
| ] |
| public_deps = [ |
| "//sdk/fidl/fuchsia.hardware.usb.peripheral:fuchsia.hardware.usb.peripheral_llcpp", |
| "//sdk/fidl/fuchsia.hardware.usb.virtual.bus:fuchsia.hardware.usb.virtual.bus_llcpp", |
| "//src/lib/testing/loop_fixture", |
| ] |
| deps = [ |
| "//sdk/fidl/fuchsia.sys", |
| "//sdk/lib/device-watcher/cpp", |
| "//sdk/lib/fdio", |
| "//sdk/lib/fit", |
| "//sdk/lib/sys/cpp", |
| "//src/lib/ddk", |
| "//zircon/system/ulib/async-loop:async-loop-cpp", |
| "//zircon/system/ulib/async-loop:async-loop-default", |
| "//zircon/system/ulib/fbl", |
| "//zircon/system/ulib/fidl-async:fidl-async-cpp", |
| "//zircon/system/ulib/zx", |
| ] |
| configs += [ |
| "//build/config/fuchsia:enable_zircon_asserts", |
| "//build/config/fuchsia:static_cpp_standard_library", |
| ] |
| |
| # TODO(fxbug.dev/69585): This target uses raw zx::channel with LLCPP which is deprecated. |
| # Please migrate to typed channel APIs (fidl::ClientEnd<T>, fidl::ServerEnd<T>). |
| # See linked bug for details. |
| configs += [ "//build/cpp:fidl-llcpp-deprecated-raw-channels" ] |
| |
| # STOP: Do not add any new entries to this allow list. Use //sdk/lib/driver_test_realm instead. |
| visibility = [ "//src/connectivity/telephony/tests/driver-integration/*" ] |
| } |
| |
| executable("test_bin") { |
| testonly = true |
| |
| output_name = "isolated_devmgr_tests" |
| |
| sources = [ "isolated_devmgr_tests.cc" ] |
| |
| deps = [ |
| ":src", |
| "//sdk/fidl/fuchsia.hardware.ethertap", |
| "//sdk/fidl/fuchsia.io:fuchsia.io", |
| "//sdk/fidl/fuchsia.sys", |
| "//sdk/fidl/fuchsia.virtualaudio", |
| "//sdk/lib/device-watcher/cpp", |
| "//sdk/lib/fdio", |
| "//sdk/lib/fit", |
| "//sdk/lib/sys/cpp", |
| "//src/lib/ddk", |
| "//src/lib/fxl/test:gtest_main", |
| "//src/lib/testing/loop_fixture", |
| "//zircon/system/ulib/async:async-cpp", |
| "//zircon/system/ulib/async-loop:async-loop-cpp", |
| "//zircon/system/ulib/async-loop:async-loop-default", |
| "//zircon/system/ulib/devmgr-integration-test", |
| "//zircon/system/ulib/fdio-caller", |
| ] |
| } |
| |
| isolated_devmgr_component("ethertap-devmgr") { |
| args = [ |
| "--sys_device=/boot/driver/test-parent-sys.so", |
| "--svc_name=fuchsia.example.IsolatedDevmgr", |
| "--wait_for=sys/test/tapctl", |
| ] |
| |
| deps = [ |
| "//src/connectivity/ethernet/drivers/ethernet", |
| "//src/connectivity/ethernet/drivers/ethertap", |
| "//src/devices/misc/drivers/test-parent", |
| ] |
| } |
| |
| isolated_devmgr_component("virtual-audio-devmgr") { |
| args = [ |
| "--sys_device=fuchsia-boot:///#driver/platform-bus.so", |
| "--svc_name=fuchsia.example.IsolatedDevmgr", |
| "--wait_for=sys/platform/00:00:2f/virtual_audio", |
| ] |
| |
| deps = [ "//src/media/audio/drivers/virtual_audio:virtual_audio_driver" ] |
| } |
| |
| driver_bind_rules("crash-device-bind") { |
| rules = "crash-device.bind" |
| header_output = "crash-device-bind.h" |
| deps = [ "//src/devices/bind/fuchsia.test.platform" ] |
| } |
| |
| # A device that causes a crash when it's operated on |
| fuchsia_driver("crash-device-driver") { |
| output_name = "crash-device" |
| sources = [ "crash_device.cc" ] |
| deps = [ |
| ":crash-device-bind", |
| "//src/devices/lib/driver", |
| "//src/lib/ddk", |
| "//src/lib/ddktl", |
| "//zircon/system/ulib/fbl", |
| "//zircon/system/ulib/fidl", |
| "//zircon/system/ulib/fzl", |
| ] |
| } |
| |
| fuchsia_driver_component("crash-device") { |
| component_name = "crash-device" |
| deps = [ ":crash-device-driver" ] |
| info = "crash-device-info.json" |
| colocate = true |
| } |
| |
| driver_bind_rules("test-device-bind") { |
| rules = "test-device.bind" |
| header_output = "test-device-bind.h" |
| deps = [ "//src/devices/bind/fuchsia.test.platform" ] |
| } |
| |
| fuchsia_driver("test-device-driver") { |
| output_name = "test-device" |
| sources = [ "test_device.cc" ] |
| deps = [ |
| ":test-device-bind", |
| "//src/devices/lib/driver", |
| "//src/lib/ddk", |
| "//src/lib/ddktl", |
| ] |
| } |
| |
| fuchsia_driver_component("test-device") { |
| component_name = "test-device" |
| deps = [ ":test-device-driver" ] |
| info = "test-device-info.json" |
| colocate = true |
| } |
| |
| fuchsia_component("isolated-devmgr-tests") { |
| testonly = true |
| manifest = "isolated-devmgr-tests.cmx" |
| deps = [ |
| ":crash-device", |
| ":ethertap-devmgr", |
| ":test-device", |
| ":test_bin", |
| ":virtual-audio-devmgr", |
| "//src/connectivity/ethernet/drivers/ethernet", |
| "//src/connectivity/ethernet/drivers/ethertap", |
| "//src/devices/board/drivers/integration-test", |
| "//src/devices/bus/drivers/platform", |
| ] |
| } |
| |
| fuchsia_test_package("isolated-devmgr-tests-package") { |
| test_components = [ ":isolated-devmgr-tests" ] |
| test_specs = { |
| log_settings = { |
| max_severity = "ERROR" |
| } |
| } |
| } |
| |
| group("tests") { |
| testonly = true |
| data_deps = [ ":isolated-devmgr-tests-package" ] |
| } |