tests/xtimer_usleep_until: Print statistics at the end

This commit is contained in:
Joakim Nohlgård 2015-10-03 22:54:17 +02:00
parent 4ea1a56f10
commit 4b47c3e9b7
2 changed files with 14 additions and 6 deletions

View File

@ -9,6 +9,4 @@ BOARD_INSUFFICIENT_MEMORY := chronos
FEATURES_REQUIRED += periph_timer FEATURES_REQUIRED += periph_timer
USEMODULE += xtimer USEMODULE += xtimer
CFLAGS += -DNUMOF=200
include $(RIOTBASE)/Makefile.include include $(RIOTBASE)/Makefile.include

View File

@ -33,6 +33,8 @@ int main(void)
puts("xtimer_usleep_until test application.\n"); puts("xtimer_usleep_until test application.\n");
uint32_t interval = NUMOF; uint32_t interval = NUMOF;
int32_t max_diff = INT32_MIN;
int32_t min_diff = INT32_MAX;
for (int i = 0; i < NUMOF; i++) { for (int i = 0; i < NUMOF; i++) {
printf("Testing interval %u... (now=%"PRIu32")\n", (unsigned)interval, xtimer_now()); printf("Testing interval %u... (now=%"PRIu32")\n", (unsigned)interval, xtimer_now());
@ -46,12 +48,20 @@ int main(void)
for (int i = 0; i < NUMOF; i++) { for (int i = 0; i < NUMOF; i++) {
printf("%4d diff=%"PRIi32"\n", NUMOF-i, res[i]); printf("%4d diff=%"PRIi32"\n", NUMOF-i, res[i]);
if (res[i] < -1000 || res[i] > 1000) { if (res[i] > max_diff) {
max_diff = res[i];
}
if (res[i] < min_diff) {
min_diff = res[i];
}
}
printf("\nMin/max error: %" PRId32 "/%" PRId32 "\n", min_diff, max_diff);
if (min_diff < -1000 || max_diff > 1000) {
puts("too large difference.\n"); puts("too large difference.\n");
puts("Test Failed.\n"); puts("Test Failed.\n");
return 1; return 1;
} }
}
printf("\nTest complete.\n"); printf("\nTest complete.\n");
return 0; return 0;