1 #include <stdint.h> 2 #include <stdio.h> 3 #include <stdlib.h> 4 #include <string.h> 5 6 #include "CppUTest/TestHarness.h" 7 #include "CppUTest/CommandLineTestRunner.h" 8 9 #include "ble/att_db.h" 10 #include "ble/att_db_util.h" 11 #include "btstack_util.h" 12 #include "bluetooth.h" 13 #include "btstack_audio.h" 14 15 #include "hal_audio.h" 16 #include "hal_cpu.h" 17 #include "hal_em9304_spi.h" 18 #include "hal_flash_bank.h" 19 #include "hal_flash_bank_memory.h" 20 #include "hal_led.h" 21 #include "hal_stdin.h" 22 #include "hal_tick.h" 23 #include "hal_time_ms.h" 24 #include "hal_uart_dma.h" 25 26 #include "queue.h" 27 #include "task.h" 28 #include "event_groups.h" 29 30 // quick mock to add freertos support to coverage 31 32 // hal_cpu 33 void hal_cpu_disable_irqs(void){} 34 void hal_cpu_enable_irqs(void){} 35 void hal_cpu_enable_irqs_and_sleep(void){} 36 37 // hal_em9304_spi 38 void hal_em9304_spi_init(void){} 39 void hal_em9304_spi_deinit(void){} 40 void hal_em9304_spi_set_ready_callback(void (*callback)(void)){} 41 void hal_em9304_spi_set_transfer_done_callback(void (*callback)(void)){} 42 void hal_em9304_spi_enable_ready_interrupt(void){} 43 void hal_em9304_spi_disable_ready_interrupt(void){} 44 int hal_em9304_spi_get_ready(){ return 0; } 45 void hal_em9304_spi_set_chip_select(int enable){} 46 int hal_em9304_spi_get_fullduplex_support(void){ return 0; } 47 void hal_em9304_spi_transceive(const uint8_t * tx_data, uint8_t * rx_data, uint16_t len){} 48 void hal_em9304_spi_transmit(const uint8_t * tx_data, uint16_t len){} 49 void hal_em9304_spi_receive(uint8_t * rx_data, uint16_t len){} 50 51 // hal_stdin_setup 52 void hal_stdin_setup(void (*handler)(char c)){} 53 54 // hal_uart_dma 55 void hal_uart_dma_init(void){} 56 void hal_uart_dma_set_block_received( void (*callback)(void)){} 57 void hal_uart_dma_set_block_sent( void (*callback)(void)){} 58 int hal_uart_dma_set_baud(uint32_t baud){ return 0; } 59 int hal_uart_dma_set_flowcontrol(int flowcontrol){ return 0;} 60 void hal_uart_dma_send_block(const uint8_t *buffer, uint16_t length){} 61 void hal_uart_dma_receive_block(uint8_t *buffer, uint16_t len){} 62 void hal_uart_dma_set_csr_irq_handler( void (*csr_irq_handler)(void)){} 63 void hal_uart_dma_set_sleep(uint8_t sleep){} 64 int hal_uart_dma_get_supported_sleep_modes(void){ return 0; } 65 // void hal_uart_dma_set_sleep_mode(btstack_uart_sleep_mode_t sleep_mode){} 66 67 // hal_audio_sink 68 void hal_audio_sink_init(uint8_t channels, uint32_t sample_rate,void (*buffer_played_callback)(uint8_t buffer_index)){} 69 uint16_t hal_audio_sink_get_num_output_buffers(void){ return 0; } 70 uint16_t hal_audio_sink_get_num_output_buffer_samples(void){ return 0; } 71 int16_t * hal_audio_sink_get_output_buffer(uint8_t buffer_index){ return NULL; } 72 void hal_audio_sink_start(void){} 73 void hal_audio_sink_stop(void){} 74 void hal_audio_sink_close(void){} 75 void hal_audio_source_init(uint8_t channels, uint32_t sample_rate, void (*buffer_recorded_callback)(const int16_t * buffer, uint16_t num_samples)){} 76 void hal_audio_source_start(void){} 77 void hal_audio_source_stop(void){} 78 void hal_audio_source_close(void){} 79 80 // hal_time_ms 81 uint32_t hal_time_ms(void){ return 0; } 82 83 BaseType_t xQueueSendToBack(QueueHandle_t xQueue, const void * pvItemToQueue, TickType_t xTicksToWait){ 84 return 0; 85 } 86 BaseType_t xQueueSendToBackFromISR(QueueHandle_t xQueue, const void *pvItemToQueue, BaseType_t *pxHigherPriorityTaskWoken){ 87 return 0; 88 } 89 BaseType_t xQueueReceive(QueueHandle_t xQueue,void *pvBuffer,TickType_t xTicksToWait){ 90 return 0; 91 } 92 QueueHandle_t xQueueCreateStatic( UBaseType_t uxQueueLength, UBaseType_t uxItemSize, uint8_t *pucQueueStorageBuffer, StaticQueue_t *pxQueueBuffer ){ 93 return 0; 94 } 95 96 EventGroupHandle_t xEventGroupCreate( void ){ 97 return 0; 98 } 99 EventBits_t xEventGroupSetBits( EventGroupHandle_t xEventGroup, const EventBits_t uxBitsToSet ){ 100 return 0; 101 } 102 BaseType_t xEventGroupSetBitsFromISR( EventGroupHandle_t xEventGroup, const EventBits_t uxBitsToSet, BaseType_t *pxHigherPriorityTaskWoken ){ 103 return 0; 104 } 105 EventBits_t xEventGroupWaitBits( const EventGroupHandle_t xEventGroup, const EventBits_t uxBitsToWaitFor, const BaseType_t xClearOnExit, const BaseType_t xWaitForAllBits, TickType_t xTicksToWait ){ 106 return 0; 107 } 108 TaskHandle_t xTaskGetCurrentTaskHandle( void ){ 109 return 0; 110 } 111 112 TEST_GROUP(FreeRTOS){ 113 void setup(void){ 114 } 115 }; 116 117 TEST(FreeRTOS, Init){ 118 119 } 120 121 int main (int argc, const char * argv[]){ 122 return CommandLineTestRunner::RunAllTests(argc, argv); 123 } 124