blob: c272a0be34c4781e92fe2c4a0752150aa3e0ef08 [file] [log] [blame]
# Copyright 2022 Google LLC
#
# 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.
# Cantrip Rust unit tests.
CARGO_TEST := ${CARGO_CMD} test
# NB: cargo_test_debugconsole_zmodem is broken
# TODO(b/232928288): temporarily disable cargo_test_cantrip_proc_manager &
# cargo_test_cantrip_os_common_logger &
# cargo_test_cantrip_proc_interface; they need to be rewritten (or tossed)
CARGO_TEST_CANTRIP=\
cargo_test_cantrip_os_common_slot_allocator \
cargo_test_circular_buffer \
cargo_test_i2s_driver \
cargo_test_mailbox_driver \
cargo_test_opentitan_timer \
cargo_test_uart_driver \
cargo_test_cantrip_vec_core
## Runs all cargo unit tests for the Cantrip operating system
cargo_test_cantrip: $(CARGO_TEST_CANTRIP) | cantrip-gen-headers
## Runs cargo unit tests for the ProcessManager implementation
cargo_test_cantrip_proc_manager: | cantrip-gen-headers
cd $(CANTRIP_COMPONENTS)/ProcessManager/cantrip-proc-manager && $(CARGO_TEST)
## Runs cargo unit tests for the ProcessManager interface
cargo_test_cantrip_proc_interface: | cantrip-gen-headers
cd $(CANTRIP_COMPONENTS)/ProcessManager/cantrip-proc-interface && $(CARGO_TEST)
## Runs cargo unit tests for the CantripLogger service
cargo_test_cantrip_os_common_logger: | cantrip-gen-headers
cd $(CANTRIP_COMPONENTS)/cantrip-os-common/src/logger && \
$(CARGO_TEST) -- --test-threads=1
## Runs cargo unit tests for the CantripSlotAllocator crate
cargo_test_cantrip_os_common_slot_allocator: | cantrip-gen-headers
cd $(CANTRIP_COMPONENTS)/cantrip-os-common/src/slot-allocator && \
$(CARGO_TEST) -- --test-threads=1
## Runs cargo unit tests for the cicular-buffer support
cargo_test_circular_buffer: | cantrip-gen-headers
cd $(CANTRIP_COMPONENTS)/UARTDriver/circular-buffer && $(CARGO_TEST)
## Runs cargo unit tests for the DebugConsole zmomdem support
cargo_test_debugconsole_zmodem: | cantrip-gen-headers
cd $(CANTRIP_COMPONENTS)/DebugConsole/zmodem && $(CARGO_TEST)
## Runs cargo unit tests for the I2SDriver
cargo_test_i2s_driver: | cantrip-gen-headers
cd $(CANTRIP_COMPONENTS)/SDKRuntime/tests && $(CARGO_TEST)
## Runs cargo unit tests for the MailboxDriver
cargo_test_mailbox_driver: | cantrip-gen-headers
cd $(CANTRIP_COMPONENTS)/SecurityCoordinator/tests && $(CARGO_TEST)
## Runs cargo unit tests for the opentitan-timer support
cargo_test_opentitan_timer: | cantrip-gen-headers
cd $(CANTRIP_COMPONENTS)/TimerService/tests && $(CARGO_TEST)
## Runs cargo unit tests for the UARTDriver
cargo_test_uart_driver: | cantrip-gen-headers
cd $(CANTRIP_COMPONENTS)/UARTDriver/tests && $(CARGO_TEST)
## Runs cargo unit tests for the Vector Core support
cargo_test_cantrip_vec_core: | cantrip-gen-headers
cd $(CANTRIP_COMPONENTS)/MlCoordinator/tests && $(CARGO_TEST)
.PHONY:: cargo_test_cantrip $(CARGO_TEST_CANTRIP)