| # 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) |