blob: 0560ce3b1d5488223b58cbf10ea3fe831ef7ef8a [file] [log] [blame]
# 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/config/fuchsia/rules.gni")
import("//src/lib/isolated_devmgr/isolated_devmgr.gni")
source_set("src") {
sources = [
"isolated_devmgr.cc",
"isolated_devmgr.h",
]
public_deps = [ "//zircon/system/ulib/devmgr-integration-test" ]
deps = [
"//sdk/lib/fdio",
"//sdk/lib/fit",
"//sdk/lib/sys/cpp",
"//src/lib/ddk",
"//src/lib/ddk:ddk-metadata-headers",
"//src/lib/fxl",
"//zircon/public/lib/async-cpp",
"//zircon/public/lib/fbl",
"//zircon/public/lib/zx",
"//zircon/system/ulib/async-loop:async-loop-cpp",
"//zircon/system/ulib/async-loop:async-loop-default",
"//zircon/system/ulib/fdio-caller",
"//zircon/system/ulib/fzl",
"//zircon/system/ulib/inspector",
]
}
executable("isolated_devmgr") {
testonly = true
output_name = "isolated_devmgr"
sources = [ "main.cc" ]
deps = [
":src",
"//sdk/lib/fdio",
"//sdk/lib/fit",
"//sdk/lib/sys/cpp",
"//src/lib/ddk",
"//src/lib/fxl",
"//zircon/public/lib/async-cpp",
"//zircon/public/lib/fbl",
"//zircon/system/ulib/async-loop:async-loop-cpp",
"//zircon/system/ulib/async-loop:async-loop-default",
"//zircon/system/ulib/devmgr-integration-test",
]
}
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 = [
"//garnet/public/lib/gtest",
"//sdk/fidl/fuchsia.hardware.usb.peripheral:fuchsia.hardware.usb.peripheral_llcpp",
"//sdk/fidl/fuchsia.hardware.usb.virtual.bus:fuchsia.hardware.usb.virtual.bus_llcpp",
"//zircon/system/ulib/devmgr-integration-test",
]
deps = [
"//sdk/fidl/fuchsia.sys",
"//sdk/lib/fdio",
"//sdk/lib/fit",
"//sdk/lib/sys/cpp",
"//src/lib/ddk",
"//zircon/public/lib/fbl",
"//zircon/public/lib/zx",
"//zircon/system/ulib/async-loop:async-loop-cpp",
"//zircon/system/ulib/async-loop:async-loop-default",
"//zircon/system/ulib/devmgr-launcher",
"//zircon/system/ulib/fidl-async:fidl-async-cpp",
]
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" ]
}
executable("test_bin") {
testonly = true
output_name = "isolated_devmgr_tests"
sources = [ "isolated_devmgr_tests.cc" ]
deps = [
":src",
"//garnet/public/lib/gtest",
"//sdk/fidl/fuchsia.hardware.ethertap",
"//sdk/fidl/fuchsia.io:fuchsia.io",
"//sdk/fidl/fuchsia.sys",
"//sdk/fidl/fuchsia.virtualaudio",
"//sdk/lib/fdio",
"//sdk/lib/fit",
"//sdk/lib/sys/cpp",
"//src/lib/ddk",
"//src/lib/fxl/test:gtest_main",
"//zircon/public/lib/async-cpp",
"//zircon/system/ulib/async-loop:async-loop-cpp",
"//zircon/system/ulib/async-loop:async-loop-default",
"//zircon/system/ulib/devmgr-integration-test",
]
}
isolated_devmgr_component("ethertap-devmgr") {
args = [
"--svc_name=fuchsia.example.IsolatedDevmgr",
"--load_driver=/boot/driver/ethertap.so",
"--load_driver=/boot/driver/ethernet.so",
"--wait_for=test/tapctl",
]
deps = [
"//src/connectivity/ethernet/drivers/ethernet",
"//src/connectivity/ethernet/drivers/ethertap",
"//src/devices/tests/sysdev",
]
}
isolated_devmgr_component("virtual-audio-devmgr") {
args = [
"--svc_name=fuchsia.example.IsolatedDevmgr",
"--load_driver=/boot/driver/virtual_audio_driver.so",
"--wait_for=test/virtual_audio",
]
deps = [
"//src/devices/tests/sysdev",
"//src/media/audio/drivers/virtual_audio:virtual_audio_driver",
]
}
bind_rules("crash-device-bind") {
rules = "crash-device.bind"
output = "crash-device-bind.h"
deps = [ "//src/devices/bind/test.platform" ]
}
# A device that causes a crash when it's operated on
driver_module("crash-device") {
sources = [ "crash_device.cc" ]
deps = [
":crash-device-bind",
"//src/devices/lib/driver",
"//src/lib/ddk",
"//src/lib/ddktl",
"//zircon/public/lib/fbl",
"//zircon/public/lib/fidl",
"//zircon/system/ulib/fzl",
]
}
fuchsia_component("isolated-devmgr-tests") {
testonly = true
manifest = "isolated-devmgr-tests.cmx"
deps = [
":crash-device",
":ethertap-devmgr",
":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",
"//src/devices/rtc/drivers/fallback",
"//src/devices/tests/sysdev",
]
}
fuchsia_test_package("isolated-devmgr-tests-package") {
test_components = [ ":isolated-devmgr-tests" ]
}
group("tests") {
testonly = true
data_deps = [ ":isolated-devmgr-tests-package" ]
}