1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00
RIOT/sys/test_utils/interactive_sync/interactive_sync.c
Gaëtan Harter 027426793c
test_utils_interactive_sync: add a helper for synchronizing tests
Add an implementation that waits for 's' to print 'START' and return.
If 'r' is given is prints 'READY' to allow querying for state.

The help and answered string have to be different to not match the other.
Using puts/getchar was smaller than using `stdio_read/stdio_write` on the
example I tested with `esp32`.
2019-08-15 12:26:28 +02:00

21 lines
552 B
C

#include <stdio.h>
#include "test_utils/interactive_sync.h"
void test_utils_interactive_sync(void)
{
char c = '\0'; /* Print help on first loop */
do {
if (c == 'r') {
/* This one should have a different case than the help message
* otherwise we match it when using 'expect' */
puts("READY");
}
else if (c != '\n' && c != '\r') {
puts("Help: Press s to start test, r to print it is ready");
}
c = getchar();
} while (c != 's');
puts("START");
}