# Tests specific to cpp kernel.
#
# Only add tests that are cpp kernel specific and it is not possible to make them work for upb (
# for example tests exercising ABI compatibility with C++ Protobuf API).
#
# All the tests under this package should ignore
# `//rust:rust_proto_library_kernel` flag and should always select `cpp`.
#
# To do that use:
# * `rust_cc_proto_library` instead of `rust_proto_library`.
# * `//rust:protobuf_cpp` instead of `//rust:protobuf``.

load("@rules_rust//rust:defs.bzl", "rust_test")
load(
    "//rust:defs.bzl",
    "rust_cc_proto_library",
)

proto_library(
    name = "debug_proto",
    testonly = True,
    srcs = ["debug.proto"],
)

rust_cc_proto_library(
    name = "debug_rust_proto",
    testonly = True,
    deps = [":debug_proto"],
)

rust_test(
    name = "debug_test",
    srcs = ["debug_test.rs"],
    deps = [
        ":debug_rust_proto",
        "//rust:protobuf_cpp",
        "@crate_index//:googletest",
    ],
)
