diff --git a/tests/xtimer_now64_continuity/Makefile b/tests/xtimer_now64_continuity/Makefile new file mode 100644 index 000000000000..0796faef1d4a --- /dev/null +++ b/tests/xtimer_now64_continuity/Makefile @@ -0,0 +1,8 @@ +export APPLICATION = xtimer_now64_continuity +include ../Makefile.tests_common + +FEATURES_REQUIRED = periph_timer + +USEMODULE += xtimer + +include $(RIOTBASE)/Makefile.include diff --git a/tests/xtimer_now64_continuity/README.md b/tests/xtimer_now64_continuity/README.md new file mode 100644 index 000000000000..bc72736d9cac --- /dev/null +++ b/tests/xtimer_now64_continuity/README.md @@ -0,0 +1,5 @@ +Description +=========== + +This test measures the difference of two consecutive calls to xtimer_now64() 10k times. +Should the difference be larger then 1000us, the test fails, otherwise it succeeds. diff --git a/tests/xtimer_now64_continuity/main.c b/tests/xtimer_now64_continuity/main.c new file mode 100644 index 000000000000..c6bf74145481 --- /dev/null +++ b/tests/xtimer_now64_continuity/main.c @@ -0,0 +1,49 @@ +/* + * Copyright (C) 2015 Kaspar Schleiser + * + * This file is subject to the terms and conditions of the GNU Lesser + * General Public License v2.1. See the file LICENSE in the top level + * directory for more details. + */ + +/** + * @ingroup tests + * @{ + * + * @file + * @brief xtimer_now64 continuity test application + * + * @author Kaspar Schleiser + * + * @} + */ + +#include +#include + +#include "xtimer.h" + +#define ITERATIONS (100000LU) +#define MAXDIFF 1000 + +int main(void) +{ + uint32_t n = ITERATIONS; + uint64_t now; + uint64_t before = xtimer_now64(); + + while(--n) { + now = xtimer_now64(); + if ((now-before) > MAXDIFF) { + puts("TEST FAILED."); + break; + } + before = now; + } + + if (!n) { + puts("TEST SUCCESSFUL."); + } + + return 0; +}