blob: e9d1f55a59ca1a1842eb0d157d1d6f93e8292508 [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("//build/bazel/rules/cc:fx_cc_library.bzl", "fx_cc_library")
load("//build/bazel/rules/cc:fx_cc_test_binary.bzl", "fx_cc_test_binary")
load("//build/bazel/rules/testing:fx_unittest_package.bzl", "fx_unittest_package")
package(default_applicable_licenses = ["//:license"])
test_suite(
name = "tests",
tests = [
":unittests-package",
],
visibility = ["//src/graphics/display:__pkg__"],
)
# Unused by this library, but preserved in GN public_deps for parity until
# downstream GN callers stop relying on the transitive dep.
# @bazel2gn:raw_attribute:public_deps += [ "//sdk/lib/driver/compat/cpp" ]
fx_cc_library(
name = "cpp",
srcs = [
"backlight-fidl-adapter.cc",
"display-engine-events-fidl.cc",
"display-engine-fidl-adapter.cc",
"display-engine-interface.cc",
"inplace-vector.cc",
],
hdrs = [
"backlight-fidl-adapter.h",
"backlight-interface.h",
"display-engine-events-fidl.h",
"display-engine-events-interface.h",
"display-engine-fidl-adapter.h",
"display-engine-interface.h",
"inplace-vector.h",
],
# Sources use workspace-root angled `#include <sdk/lib/driver/logging/cpp/logger.h>`.
copts = ["-I."], # @bazel2gn:skip
implementation_deps = [
"//sdk/fidl/fuchsia.images2:fuchsia.images2_cpp",
"//sdk/fidl/fuchsia.math:fuchsia.math_cpp",
"//sdk/lib/driver/logging/cpp",
],
# Note: Fuchsia-only (public headers include Zircon and FDF driver wire messaging headers).
target_compatible_with = ["@platforms//os:fuchsia"],
visibility = [
"//src/graphics/display:__subpackages__",
"//vendor/google:__subpackages__",
],
deps = [
"//sdk/fidl/fuchsia.hardware.backlight:fuchsia.hardware.backlight_cpp",
"//sdk/fidl/fuchsia.hardware.display.engine:fuchsia.hardware.display.engine_cpp",
"//sdk/fidl/fuchsia.hardware.display.types:fuchsia.hardware.display.types_cpp",
"//sdk/fidl/fuchsia.sysmem2:fuchsia.sysmem2_cpp",
"//src/graphics/display/lib/api-types/cpp",
"//zircon/system/ulib/zx",
],
alwayslink = True,
)
fx_cc_test_binary(
name = "unittests",
srcs = [
"backlight-fidl-adapter-test.cc",
"backlight-interface-test.cc",
"display-engine-events-fidl-test.cc",
"display-engine-events-interface-test.cc",
"display-engine-fidl-adapter-test.cc",
"display-engine-interface-test.cc",
"inplace-vector-test.cc",
"mock-backlight.cc",
"mock-backlight.h",
"mock-display-engine.cc",
"mock-display-engine.h",
"mock-fidl-display-engine-listener.cc",
"mock-fidl-display-engine-listener.h",
],
gn_output_name = "display-api-protocols-cpp-tests",
# Note: Fuchsia-only (depends on Fuchsia-only :cpp).
target_compatible_with = ["@platforms//os:fuchsia"],
deps = [
":cpp",
"//sdk/lib/async:async-cpp",
"//sdk/lib/async-loop:async-loop-cpp",
"//sdk/lib/async-loop:async-loop-default",
"//sdk/lib/driver/testing/cpp",
"//sdk/lib/driver/testing/cpp:scoped_global_logger",
"//sdk/lib/fit",
"//src/devices/bin/driver_runtime",
"//src/lib/fxl/test:gtest_main",
"//src/lib/testing/predicates",
"//zircon/system/ulib/image-format",
"//zircon/system/ulib/sync:sync-cpp",
"@com_google_googletest//:gtest",
],
)
fx_unittest_package(
name = "unittests-package",
package_name = "display-api-protocols-cpp-tests",
unit_tests = [":unittests"],
)