From 4d300c49ab2556c07f758c939bcbccf5e665acff Mon Sep 17 00:00:00 2001 From: William Vinnicombe Date: Fri, 8 May 2026 12:46:21 +0100 Subject: [PATCH 1/5] Deinit stdio in PICOTEST_END_TEST when using stdio_usb Without this, the PASSED string is sometimes not printed --- test/pico_test/include/pico/test.h | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/test/pico_test/include/pico/test.h b/test/pico_test/include/pico/test.h index cb3a614a4..c3777ce1c 100644 --- a/test/pico_test/include/pico/test.h +++ b/test/pico_test/include/pico/test.h @@ -54,10 +54,17 @@ but not sure that is implemented yet. return -1; \ } +#if LIB_PICO_STDIO_USB // Must deinit before exiting, to avoid losing final output +#define PICOTEST_END_TEST() if (picotest_error_code != 0) \ + {printf("%s: Failed\n", picotest_description); stdio_deinit_all(); return -1;} \ + else \ + {printf("%s: Success\n", picotest_description); puts("PASSED"); stdio_deinit_all(); return 0;} +#else #define PICOTEST_END_TEST() if (picotest_error_code != 0) \ {printf("%s: Failed\n", picotest_description); return -1;} \ else \ {printf("%s: Success\n", picotest_description); puts("PASSED"); return 0;} +#endif #endif From 843bd87470317b3f16ef8d7564f50edcefca0c2f Mon Sep 17 00:00:00 2001 From: William Vinnicombe Date: Fri, 8 May 2026 12:49:54 +0100 Subject: [PATCH 2/5] Increase timeout on hardware_sync_spin_lock_test --- test/hardware_sync_spin_lock_test/CMakeLists.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/test/hardware_sync_spin_lock_test/CMakeLists.txt b/test/hardware_sync_spin_lock_test/CMakeLists.txt index e81069aa8..5bec0ce4c 100644 --- a/test/hardware_sync_spin_lock_test/CMakeLists.txt +++ b/test/hardware_sync_spin_lock_test/CMakeLists.txt @@ -11,3 +11,5 @@ pico_add_extra_outputs(hardware_sync_spin_lock_test) target_compile_definitions(hardware_sync_spin_lock_test PRIVATE PICO_STDOUT_MUTEX=0 ) + +set_target_properties(hardware_sync_spin_lock_test PROPERTIES PICO_TEST_TIMEOUT 10) From 94f629c0b8162d8f0b5260a1759d67dea646fedd Mon Sep 17 00:00:00 2001 From: William Vinnicombe Date: Fri, 15 May 2026 15:27:15 +0100 Subject: [PATCH 3/5] Always call stdio_deinit_all() before exiting --- test/pico_test/include/pico/test.h | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/test/pico_test/include/pico/test.h b/test/pico_test/include/pico/test.h index c3777ce1c..7b574389d 100644 --- a/test/pico_test/include/pico/test.h +++ b/test/pico_test/include/pico/test.h @@ -54,17 +54,11 @@ but not sure that is implemented yet. return -1; \ } -#if LIB_PICO_STDIO_USB // Must deinit before exiting, to avoid losing final output +// Calls stdio_deinit_all before exiting, to avoid losing final output #define PICOTEST_END_TEST() if (picotest_error_code != 0) \ {printf("%s: Failed\n", picotest_description); stdio_deinit_all(); return -1;} \ else \ {printf("%s: Success\n", picotest_description); puts("PASSED"); stdio_deinit_all(); return 0;} -#else -#define PICOTEST_END_TEST() if (picotest_error_code != 0) \ - {printf("%s: Failed\n", picotest_description); return -1;} \ - else \ - {printf("%s: Success\n", picotest_description); puts("PASSED"); return 0;} -#endif #endif From 06732c956ef51ec0eecec536c8af7df85d53a8ae Mon Sep 17 00:00:00 2001 From: William Vinnicombe Date: Fri, 15 May 2026 15:45:37 +0100 Subject: [PATCH 4/5] Add host stdio_deinit_all --- src/host/pico_stdio/include/pico/stdio.h | 1 + 1 file changed, 1 insertion(+) diff --git a/src/host/pico_stdio/include/pico/stdio.h b/src/host/pico_stdio/include/pico/stdio.h index de0bde167..b2b5807e5 100644 --- a/src/host/pico_stdio/include/pico/stdio.h +++ b/src/host/pico_stdio/include/pico/stdio.h @@ -14,6 +14,7 @@ typedef struct stdio_driver stdio_driver_t; static inline void stdio_usb_init() {} void stdio_uart_init(); static inline void stdio_init_all() { stdio_uart_init(); } +static inline void stdio_deinit_all() {} static inline void stdio_filter_driver(stdio_driver_t *driver) {} static inline void stdio_set_translate_crlf(stdio_driver_t *driver, bool enabled) {} static inline bool stdio_usb_connected(void) { return true; } From 4c061c488de17aaf9795c23708f0a4307ea8b5f4 Mon Sep 17 00:00:00 2001 From: William Vinnicombe Date: Fri, 15 May 2026 16:06:48 +0100 Subject: [PATCH 5/5] Split onto multiple lines --- test/pico_test/include/pico/test.h | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/test/pico_test/include/pico/test.h b/test/pico_test/include/pico/test.h index 7b574389d..5ab84e629 100644 --- a/test/pico_test/include/pico/test.h +++ b/test/pico_test/include/pico/test.h @@ -55,10 +55,16 @@ but not sure that is implemented yet. } // Calls stdio_deinit_all before exiting, to avoid losing final output -#define PICOTEST_END_TEST() if (picotest_error_code != 0) \ - {printf("%s: Failed\n", picotest_description); stdio_deinit_all(); return -1;} \ - else \ - {printf("%s: Success\n", picotest_description); puts("PASSED"); stdio_deinit_all(); return 0;} +#define PICOTEST_END_TEST() if (picotest_error_code != 0) { \ + printf("%s: Failed\n", picotest_description); \ + stdio_deinit_all(); \ + return -1; \ + } else { \ + printf("%s: Success\n", picotest_description); \ + puts("PASSED"); \ + stdio_deinit_all(); \ + return 0; \ + } #endif