From 19e175b1c1dea54efb61e8040ffdfa973fbac5d5 Mon Sep 17 00:00:00 2001 From: Your Name Date: Thu, 21 May 2026 16:46:51 +0530 Subject: Wallet receive via health task queue (no separate TLS worker) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Removed standalone TLS worker task (couldn't allocate 16KB internal stack) - Added wallet receive queue to mint_health task (already has 16KB stack + working TLS) - health_task processes wallet tokens between probe intervals (1s poll) - tls_worker_set_queue() registers queue from mint_health_start() - Fallback to synchronous receive if queue not available - Added freertos/queue.h and tollgate_api.h stubs for unit tests - Added BaseType_t/UBaseType_t/TickType_t/pdFALSE to FreeRTOS stub - Full payment round-trip confirmed: 2 payments → 41 sat balance --- tests/unit/stubs/freertos/FreeRTOS.h | 5 +++++ tests/unit/stubs/freertos/queue.h | 37 +++++++++++++++++++++++++++++++++ tests/unit/stubs/tollgate_api.h | 11 ++++++++++ tests/unit/test_beacon_price | Bin 0 -> 35744 bytes tests/unit/test_display | Bin 0 -> 24816 bytes tests/unit/test_firewall_sandbox | Bin 0 -> 30568 bytes tests/unit/test_keyboard | Bin 0 -> 35416 bytes tests/unit/test_market | Bin 0 -> 49456 bytes tests/unit/test_mining_payment | Bin 0 -> 28664 bytes tests/unit/test_mint_health.c | 5 +++++ tests/unit/test_negentropy_adapter | Bin 0 -> 21216 bytes tests/unit/test_session_payment_method | Bin 0 -> 54680 bytes tests/unit/test_stratum_proxy | Bin 0 -> 40784 bytes tests/unit/test_tollgate_client_mining | Bin 0 -> 48448 bytes tests/unit/test_touch | Bin 0 -> 30304 bytes tests/unit/test_wifi_setup | Bin 0 -> 33336 bytes 16 files changed, 58 insertions(+) create mode 100644 tests/unit/stubs/freertos/queue.h create mode 100644 tests/unit/stubs/tollgate_api.h create mode 100755 tests/unit/test_beacon_price create mode 100755 tests/unit/test_display create mode 100755 tests/unit/test_firewall_sandbox create mode 100755 tests/unit/test_keyboard create mode 100755 tests/unit/test_market create mode 100755 tests/unit/test_mining_payment create mode 100755 tests/unit/test_negentropy_adapter create mode 100755 tests/unit/test_session_payment_method create mode 100755 tests/unit/test_stratum_proxy create mode 100755 tests/unit/test_tollgate_client_mining create mode 100755 tests/unit/test_touch create mode 100755 tests/unit/test_wifi_setup (limited to 'tests') diff --git a/tests/unit/stubs/freertos/FreeRTOS.h b/tests/unit/stubs/freertos/FreeRTOS.h index 2d2b967..543d4e4 100644 --- a/tests/unit/stubs/freertos/FreeRTOS.h +++ b/tests/unit/stubs/freertos/FreeRTOS.h @@ -3,11 +3,16 @@ #include +typedef int32_t BaseType_t; +typedef uint32_t UBaseType_t; +typedef uint32_t TickType_t; + static inline uint32_t xTaskGetTickCount(void) { return 0; } static inline void vTaskDelay(uint32_t ticks) { (void)ticks; } #define pdMS_TO_TICKS(ms) ((ms) / 10) #define portTICK_PERIOD_MS 10 #define portMAX_DELAY 0xFFFFFFFF #define pdTRUE 1 +#define pdFALSE 0 #endif diff --git a/tests/unit/stubs/freertos/queue.h b/tests/unit/stubs/freertos/queue.h new file mode 100644 index 0000000..04aef49 --- /dev/null +++ b/tests/unit/stubs/freertos/queue.h @@ -0,0 +1,37 @@ +#ifndef STUB_FREERTOS_QUEUE_H +#define STUB_FREERTOS_QUEUE_H + +#include +#include "freertos/FreeRTOS.h" + +typedef void *QueueHandle_t; + +static inline QueueHandle_t xQueueCreate(UBaseType_t uxQueueLength, UBaseType_t uxItemSize) +{ + (void)uxQueueLength; + (void)uxItemSize; + return (QueueHandle_t)1; +} + +static inline BaseType_t xQueueSend(QueueHandle_t xQueue, const void *pvItemToQueue, TickType_t xTicksToWait) +{ + (void)xQueue; + (void)pvItemToQueue; + (void)xTicksToWait; + return pdTRUE; +} + +static inline BaseType_t xQueueReceive(QueueHandle_t xQueue, void *pvBuffer, TickType_t xTicksToWait) +{ + (void)xQueue; + (void)pvBuffer; + (void)xTicksToWait; + return pdFALSE; +} + +static inline void vQueueDelete(QueueHandle_t xQueue) +{ + (void)xQueue; +} + +#endif diff --git a/tests/unit/stubs/tollgate_api.h b/tests/unit/stubs/tollgate_api.h new file mode 100644 index 0000000..7e20fce --- /dev/null +++ b/tests/unit/stubs/tollgate_api.h @@ -0,0 +1,11 @@ +#ifndef STUB_TOLLGATE_API_H +#define STUB_TOLLGATE_API_H + +#include "freertos/queue.h" + +static inline void tls_worker_set_queue(QueueHandle_t q) +{ + (void)q; +} + +#endif diff --git a/tests/unit/test_beacon_price b/tests/unit/test_beacon_price new file mode 100755 index 0000000..a9f6357 Binary files /dev/null and b/tests/unit/test_beacon_price differ diff --git a/tests/unit/test_display b/tests/unit/test_display new file mode 100755 index 0000000..9b8364e Binary files /dev/null and b/tests/unit/test_display differ diff --git a/tests/unit/test_firewall_sandbox b/tests/unit/test_firewall_sandbox new file mode 100755 index 0000000..3e2895b Binary files /dev/null and b/tests/unit/test_firewall_sandbox differ diff --git a/tests/unit/test_keyboard b/tests/unit/test_keyboard new file mode 100755 index 0000000..61cc9f5 Binary files /dev/null and b/tests/unit/test_keyboard differ diff --git a/tests/unit/test_market b/tests/unit/test_market new file mode 100755 index 0000000..8efac8e Binary files /dev/null and b/tests/unit/test_market differ diff --git a/tests/unit/test_mining_payment b/tests/unit/test_mining_payment new file mode 100755 index 0000000..d38bf9d Binary files /dev/null and b/tests/unit/test_mining_payment differ diff --git a/tests/unit/test_mint_health.c b/tests/unit/test_mint_health.c index d170d55..1cb05d9 100644 --- a/tests/unit/test_mint_health.c +++ b/tests/unit/test_mint_health.c @@ -1,8 +1,13 @@ #include #include #include +#include "esp_err.h" #include "mint_health.h" +esp_err_t nucula_wallet_receive(const char *token_str) { (void)token_str; return ESP_OK; } +uint64_t nucula_wallet_balance(void) { return 0; } +void tls_worker_set_queue(void *q) { (void)q; } + static int test_count = 0; static int pass_count = 0; diff --git a/tests/unit/test_negentropy_adapter b/tests/unit/test_negentropy_adapter new file mode 100755 index 0000000..64b6053 Binary files /dev/null and b/tests/unit/test_negentropy_adapter differ diff --git a/tests/unit/test_session_payment_method b/tests/unit/test_session_payment_method new file mode 100755 index 0000000..950a72f Binary files /dev/null and b/tests/unit/test_session_payment_method differ diff --git a/tests/unit/test_stratum_proxy b/tests/unit/test_stratum_proxy new file mode 100755 index 0000000..963df67 Binary files /dev/null and b/tests/unit/test_stratum_proxy differ diff --git a/tests/unit/test_tollgate_client_mining b/tests/unit/test_tollgate_client_mining new file mode 100755 index 0000000..d331bd1 Binary files /dev/null and b/tests/unit/test_tollgate_client_mining differ diff --git a/tests/unit/test_touch b/tests/unit/test_touch new file mode 100755 index 0000000..43c8790 Binary files /dev/null and b/tests/unit/test_touch differ diff --git a/tests/unit/test_wifi_setup b/tests/unit/test_wifi_setup new file mode 100755 index 0000000..aa0e0b4 Binary files /dev/null and b/tests/unit/test_wifi_setup differ -- cgit v1.2.3