blob: a32100d75a6048cf23d903be1edff7e9e50cee2c [file] [log] [blame]
# Copyright 2021 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/components.gni")
import("//build/drivers.gni")
group("compat") {
deps = [
":compat_v1_create_test",
":compat_v1_device_add_null_test",
":compat_v1_missing_test",
":compat_v1_test",
]
}
group("tests") {
testonly = true
deps = [ ":compat_test" ]
}
# Set this to true to see all active node names that a driver that is logging is binded to.
add_node_names_to_log_tags = false
source_set("lib") {
sources = [
"api.cc",
"compat_driver_server.cc",
"compat_driver_server.h",
"composite_node_spec_util.h",
"device.cc",
"device.h",
"driver.cc",
"driver.h",
"loader.cc",
"loader.h",
"simple_binding.cc",
"simple_binding.h",
]
deps = [
"//sdk/lib/driver/compat/cpp",
"//sdk/lib/driver/compat/cpp:symbols",
"//sdk/lib/driver/component/cpp",
"//src/devices/lib/fidl:devfs_fidl",
"//src/devices/lib/log",
"//src/lib/driver_symbols:driver_symbols",
]
public_deps = [
"//sdk/fidl/fuchsia.boot:fuchsia.boot_cpp",
"//sdk/fidl/fuchsia.device:fuchsia.device_cpp",
"//sdk/fidl/fuchsia.device.manager:fuchsia.device.manager_cpp",
"//sdk/fidl/fuchsia.driver.compat:fuchsia.driver.compat_cpp",
"//sdk/fidl/fuchsia.kernel:fuchsia.kernel_cpp",
"//sdk/fidl/fuchsia.scheduler:fuchsia.scheduler_cpp",
"//sdk/lib/component/incoming/cpp",
"//sdk/lib/component/outgoing/cpp",
"//sdk/lib/driver/devfs/cpp",
"//sdk/lib/driver/promise/cpp",
"//sdk/lib/inspect/component/cpp",
"//sdk/lib/stdcompat",
"//src/devices/lib/driver:driver_runtime",
"//src/lib/ddk",
"//src/lib/ddktl",
"//zircon/system/ulib/async-loop:async-loop-cpp",
"//zircon/system/ulib/sync:sync-cpp",
]
if (add_node_names_to_log_tags) {
defines = [ "DRIVER_COMPAT_ADD_NODE_NAMES_TO_LOG_TAGS" ]
}
}
fuchsia_driver("driver") {
output_name = "compat"
deps = [ ":lib" ]
_version_script = "//src/devices/misc/drivers/compat/compat.ld"
ldflags =
[ "-Wl,--version-script=" + rebase_path(_version_script, root_build_dir) ]
inputs = [ _version_script ]
}
driver_bind_rules("v1_test_bind") {
disable_autobind = true
}
fuchsia_driver("v1_test") {
sources = [
"v1_test.cc",
"v1_test.h",
]
deps = [
":v1_test_bind",
"//src/devices/lib/driver",
"//src/lib/ddk",
]
}
fuchsia_driver_component("compat_v1_test") {
deps = [ ":v1_test" ]
info = "compat_v1_test-info.json"
manifest = "meta/compat_v1_test.cml"
}
fidl("fuchsia.test.echo") {
sources = [ "test.echo.fidl" ]
}
fuchsia_driver("v1_create_test") {
sources = [
"v1_create_test.cc",
"v1_test.h",
]
deps = [
":v1_test_bind",
"//src/devices/lib/driver",
"//src/lib/ddk",
]
}
fuchsia_driver_component("compat_v1_create_test") {
deps = [ ":v1_create_test" ]
info = "compat_v1_create_test-info.json"
manifest = "meta/compat_v1_create_test.cml"
}
fuchsia_driver("v1_missing_test") {
sources = [ "v1_missing_test.cc" ]
deps = [
":v1_test_bind",
"//src/devices/lib/driver",
"//src/lib/ddk",
]
}
fuchsia_driver_component("compat_v1_missing_test") {
deps = [ ":v1_missing_test" ]
info = "compat_v1_missing_test-info.json"
manifest = "meta/compat_v1_missing_test.cml"
}
fuchsia_driver("v1_device_add_null_test") {
sources = [
"v1_device_add_null.cc",
"v1_test.h",
]
deps = [
":v1_test_bind",
"//src/devices/lib/driver",
"//src/lib/ddk",
]
}
fuchsia_driver_component("compat_v1_device_add_null_test") {
deps = [ ":v1_device_add_null_test" ]
info = "compat_v1_device_add_null-info.json"
manifest = "meta/compat_v1_device_add_null_test.cml"
}
resource("test-firmware-file") {
sources = [ "test-firmware.txt" ]
outputs = [ "lib/firmware/test" ]
}
executable("unittests") {
testonly = true
output_name = "compat_test"
sources = [
"api_test.cc",
"device_test.cc",
"driver_test.cc",
"loader_test.cc",
"v1_test.h",
]
deps = [
":fuchsia.test.echo_cpp",
":lib",
":test-firmware-file",
"//sdk/fidl/fuchsia.boot:fuchsia.boot_cpp_testing",
"//sdk/fidl/fuchsia.device.fs:fuchsia.device.fs_cpp_testing",
"//sdk/fidl/fuchsia.device.manager:fuchsia.device.manager_cpp_testing",
"//sdk/fidl/fuchsia.driver.framework:fuchsia.driver.framework_cpp_testing",
"//sdk/fidl/fuchsia.io:fuchsia.io_cpp_testing",
"//sdk/fidl/fuchsia.ldsvc:fuchsia.ldsvc_cpp_testing",
"//sdk/fidl/fuchsia.logger:fuchsia.logger_cpp_testing",
"//sdk/fidl/fuchsia.scheduler:fuchsia.scheduler_cpp_testing",
"//sdk/lib/async_patterns/testing/cpp",
"//sdk/lib/driver/compat/cpp",
"//sdk/lib/driver/compat/cpp:symbols",
"//sdk/lib/driver/runtime/testing/cpp",
"//sdk/lib/driver/testing/cpp",
"//src/lib/fxl/test:gtest_main",
"//src/lib/testing/loop_fixture",
"//src/testing/fidl:placeholders_cpp",
"//zircon/system/ulib/async-default",
"//zircon/system/ulib/async-testing",
"//zircon/system/ulib/mock-boot-arguments",
"//zircon/system/ulib/sync:sync-cpp",
]
}
fuchsia_unittest_package("compat_test") {
manifest = "meta/compat_test.cml"
test_specs = {
log_settings = {
max_severity = "ERROR"
}
}
deps = [
":compat_v1_create_test",
":compat_v1_device_add_null_test",
":compat_v1_missing_test",
":compat_v1_test",
":unittests",
]
}