blob: e8ab5cfa5acd754351109f9552f599084c032c88 [file]
# Licensed under the Apache-2.0 license
# SPDX-License-Identifier: Apache-2.0
load("@rules_rust//rust:defs.bzl", "rust_library", "rust_test")
rust_library(
name = "mctp_server_lib",
srcs = [
"src/dispatch.rs",
"src/lib.rs",
"src/server.rs",
],
crate_name = "openprot_mctp_server",
edition = "2024",
visibility = ["//visibility:public"],
deps = [
"//services/mctp/api:mctp_api",
"@rust_crates//:heapless",
"@rust_crates//:mctp",
"@rust_crates//:mctp-lib",
],
)
# Integration tests — each tests/ file is its own Bazel test target.
# All share tests/common/mod.rs for fixtures (BufferSender, DirectClient, etc.).
# No I2C transport dependency; the mock Sender replaces it entirely.
rust_test(
name = "mctp_server_echo_test",
srcs = [
"tests/common/mod.rs",
"tests/echo.rs",
],
crate_root = "tests/echo.rs",
edition = "2024",
deps = [
":mctp_server_lib",
"//services/mctp/api:mctp_api",
"@rust_crates//:mctp",
"@rust_crates//:mctp-lib",
],
)
rust_test(
name = "mctp_server_dispatch_test",
srcs = [
"tests/common/mod.rs",
"tests/dispatch.rs",
],
crate_root = "tests/dispatch.rs",
edition = "2024",
deps = [
":mctp_server_lib",
"//services/mctp/api:mctp_api",
"@rust_crates//:mctp",
"@rust_crates//:mctp-lib",
],
)
rust_test(
name = "mctp_server_unit_test",
srcs = [
"tests/common/mod.rs",
"tests/server_unit.rs",
],
crate_root = "tests/server_unit.rs",
edition = "2024",
deps = [
":mctp_server_lib",
"//services/mctp/api:mctp_api",
"@rust_crates//:mctp",
"@rust_crates//:mctp-lib",
],
)
rust_test(
name = "mctp_server_integration_test",
srcs = [
"tests/common/mod.rs",
"tests/integration.rs",
],
crate_root = "tests/integration.rs",
edition = "2024",
deps = [
":mctp_server_lib",
"//services/mctp/api:mctp_api",
"@rust_crates//:mctp",
"@rust_crates//:mctp-lib",
],
)