blob: 64a9ce7a825a5df46587c901b1586bc92409c5c9 [file]
# Copyright 2026 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.
load("@rules_cc//cc:cc_library.bzl", "cc_library")
package(default_applicable_licenses = ["//:license"])
cc_library(
name = "test_support",
testonly = True,
srcs = [
"mock_memory.cc",
"mock_memory.h",
"register_test_support.cc",
"register_test_support.h",
"test_with_loop.h",
],
visibility = [
"//src/developer/debug:__subpackages__",
"//src/lib/unwinder:__subpackages__",
],
deps = [
":shared",
"@com_google_googletest//:gtest",
],
)
# Unit tests for this directory. These are intended to be referenced by unit
# test targets for the consumers of this library.
cc_library(
name = "tests",
testonly = True,
srcs = [
"address_range_unittest.cc",
"handle_info_unittest.cc",
"largest_less_or_equal_unittest.cc",
"message_loop_unittest.cc",
"regex_unittest.cc",
"register_info_unittest.cc",
"stream_buffer_unittest.cc",
"string_util_unittest.cc",
] + select({
"@platforms//os:linux": ["message_loop_linux_unittest.cc"],
"@platforms//os:fuchsia": ["message_loop_fuchsia_unittest.cc"],
}),
implementation_deps = [
":shared",
"@com_google_googletest//:gtest",
],
)
cc_library(
name = "shared",
srcs = [
"address_range.cc",
"arch.cc",
"arch_x86.cc",
"buffered_bidi_pipe.cc",
"buffered_fd.cc",
"handle_info.cc",
"message_loop.cc",
"platform.cc",
"regex.cc",
"register_info.cc",
"register_value.cc",
"serialization.cc",
"status.cc",
"stream_buffer.cc",
"string_util.cc",
"test_stream_buffer.cc",
"zx_status.cc",
] + select({
"@platforms//os:fuchsia": [
"buffered_zx_socket.cc",
"event_handlers.cc",
"message_loop_fuchsia.cc",
"zircon_utils.cc",
],
"@platforms//os:linux": [
"message_loop_linux.cc",
"message_loop_poll.cc",
],
"//conditions:default": [
"message_loop_poll.cc",
],
}),
hdrs = [
"address_range.h",
"arch.h",
"arch_arm64.h",
"arch_x86.h",
"buffered_bidi_pipe.h",
"buffered_fd.h",
"buffered_stream.h",
"handle_info.h",
"largest_less_or_equal.h",
"message_loop.h",
"platform.h",
"platform_message_loop.h",
"regex.h",
"register_id.h",
"register_info.h",
"register_value.h",
"result.h",
"serialization.h",
"status.h",
"stream_buffer.h",
"string_util.h",
"test_stream_buffer.h",
"zx_status.h",
"zx_status_definitions.h",
] + select({
"@platforms//os:fuchsia": [
"buffered_zx_socket.h",
"channel_watcher.h",
"event_handlers.h",
"event_pair_watcher.h",
"message_loop_fuchsia.h",
"peered_object_watcher.h",
"socket_watcher.h",
"zircon_exception_watcher.h",
"zircon_utils.h",
],
"@platforms//os:linux": [
"message_loop_linux.h",
"message_loop_poll.h",
],
"//conditions:default": [
"message_loop_poll.h",
],
}),
visibility = ["//visibility:public"],
deps = [
"//sdk/lib/fit-promise",
"//sdk/lib/syslog/cpp",
"//src/developer/debug/shared/logging",
"//src/lib/containers/cpp",
"//src/lib/fxl",
"@re2",
] + select({
"@platforms//os:fuchsia": [
"//sdk/lib/async:async-cpp",
"//sdk/lib/async-default",
"//sdk/lib/async-loop:async-loop-cpp",
"//sdk/lib/async-loop:async-loop-default",
"//sdk/lib/fdio",
"//sdk/lib/fit",
"//zircon/system/ulib/zx",
],
"//conditions:default": [],
}),
alwayslink = True,
)