Skip to content

Commit 4a5cd4c

Browse files
authored
Small test fixups (#2942)
* Deinit stdio in PICOTEST_END_TEST when using stdio_usb Without this, the PASSED string is sometimes not printed * Increase timeout on hardware_sync_spin_lock_test * Always call stdio_deinit_all() before exiting * Add host stdio_deinit_all * Split onto multiple lines
1 parent 2492b1c commit 4a5cd4c

3 files changed

Lines changed: 14 additions & 4 deletions

File tree

src/host/pico_stdio/include/pico/stdio.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ typedef struct stdio_driver stdio_driver_t;
1414
static inline void stdio_usb_init() {}
1515
void stdio_uart_init();
1616
static inline void stdio_init_all() { stdio_uart_init(); }
17+
static inline void stdio_deinit_all() {}
1718
static inline void stdio_filter_driver(stdio_driver_t *driver) {}
1819
static inline void stdio_set_translate_crlf(stdio_driver_t *driver, bool enabled) {}
1920
static inline bool stdio_usb_connected(void) { return true; }

test/hardware_sync_spin_lock_test/CMakeLists.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,3 +11,5 @@ pico_add_extra_outputs(hardware_sync_spin_lock_test)
1111
target_compile_definitions(hardware_sync_spin_lock_test PRIVATE
1212
PICO_STDOUT_MUTEX=0
1313
)
14+
15+
set_target_properties(hardware_sync_spin_lock_test PROPERTIES PICO_TEST_TIMEOUT 10)

test/pico_test/include/pico/test.h

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -54,10 +54,17 @@ but not sure that is implemented yet.
5454
return -1; \
5555
}
5656

57-
#define PICOTEST_END_TEST() if (picotest_error_code != 0) \
58-
{printf("%s: Failed\n", picotest_description); return -1;} \
59-
else \
60-
{printf("%s: Success\n", picotest_description); puts("PASSED"); return 0;}
57+
// Calls stdio_deinit_all before exiting, to avoid losing final output
58+
#define PICOTEST_END_TEST() if (picotest_error_code != 0) { \
59+
printf("%s: Failed\n", picotest_description); \
60+
stdio_deinit_all(); \
61+
return -1; \
62+
} else { \
63+
printf("%s: Success\n", picotest_description); \
64+
puts("PASSED"); \
65+
stdio_deinit_all(); \
66+
return 0; \
67+
}
6168

6269

6370
#endif

0 commit comments

Comments
 (0)