| # 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_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 DebugConsole zmomdem support |
| cargo_test_debugconsole_zmodem: | cantrip-gen-headers |
| cd $(CANTRIP_COMPONENTS)/DebugConsole/zmodem && $(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) |