From 781ee875aab3faf32c2e04865dca2aae0cd3a19f Mon Sep 17 00:00:00 2001
From: Kaspar Schleiser <kaspar@schleiser.de>
Date: Wed, 6 Jan 2016 13:58:36 +0100
Subject: [PATCH] tests: xtimer_now64_continuity: initial commit

---
 tests/xtimer_now64_continuity/Makefile  |  8 ++++
 tests/xtimer_now64_continuity/README.md |  5 +++
 tests/xtimer_now64_continuity/main.c    | 49 +++++++++++++++++++++++++
 3 files changed, 62 insertions(+)
 create mode 100644 tests/xtimer_now64_continuity/Makefile
 create mode 100644 tests/xtimer_now64_continuity/README.md
 create mode 100644 tests/xtimer_now64_continuity/main.c

diff --git a/tests/xtimer_now64_continuity/Makefile b/tests/xtimer_now64_continuity/Makefile
new file mode 100644
index 0000000000..0796faef1d
--- /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 0000000000..bc72736d9c
--- /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 0000000000..c6bf741454
--- /dev/null
+++ b/tests/xtimer_now64_continuity/main.c
@@ -0,0 +1,49 @@
+/*
+ * Copyright (C) 2015 Kaspar Schleiser <kaspar@schleiser.de>
+ *
+ * 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 <kaspar@schleiser.de>
+ *
+ * @}
+ */
+
+#include <stdio.h>
+#include <stdint.h>
+
+#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;
+}
-- 
GitLab