# Copyright 2025 The Pigweed Authors # # Licensed under the Apache License, Version 2.0 (the "License"); you may not # use this file except in compliance with the License. You may obtain a copy of # the License at # # https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations under # the License. load("@rules_rust//rust:defs.bzl", "rust_library") load("//pw_kernel:flags.bzl", "KERNEL_TEST_DEPS", "KERNEL_TEST_RUSTC_FLAGS") rust_library( name = "integration_tests", srcs = [ "lib.rs", "memory.rs", "sync.rs", "sync/spinlock.rs", ], crate_features = select({ "@platforms//cpu:armv8-m": ["arch_arm_cortex_m"], "@platforms//cpu:riscv32": ["arch_riscv"], "//conditions:default": [], }), rustc_flags = KERNEL_TEST_RUSTC_FLAGS, tags = ["kernel"], target_compatible_with = select({ "@platforms//cpu:armv8-m": [], "@platforms//cpu:riscv32": [], "//conditions:default": ["@platforms//:incompatible"], }), visibility = ["//visibility:public"], deps = ["//pw_kernel/kernel"] + KERNEL_TEST_DEPS + select({ "@platforms//cpu:armv8-m": ["//pw_kernel/arch/arm_cortex_m:arch_arm_cortex_m"], "@platforms//cpu:riscv32": ["//pw_kernel/arch/riscv:arch_riscv"], "//conditions:default": [], }), )