[libcamera-devel] [PATCH 2/5] test: timer: Add a 32 bit wraparound test
Kieran Bingham
kieran.bingham at ideasonboard.com
Thu Jan 17 21:20:40 CET 2019
Add a test which catches a timer running longer than the nanosecond
resolution of 32 bits.
Signed-off-by: Kieran Bingham <kieran.bingham at ideasonboard.com>
---
test/timer.cpp | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/test/timer.cpp b/test/timer.cpp
index 3d1a78ac2768..c6a6ede73486 100644
--- a/test/timer.cpp
+++ b/test/timer.cpp
@@ -81,6 +81,19 @@ protected:
return TestFail;
}
+ /*
+ * 32 bit wrap test
+ * Nanosecond resolution in a 32 bit value wraps at 4.294967
+ * seconds (0xFFFFFFFF / 1000000)
+ */
+ timer.start(4295);
+ dispatcher->processEvents();
+
+ if (timer.isRunning() || timer.jitter() > 50) {
+ cout << "Timer expiration test failed" << endl;
+ return TestFail;
+ }
+
/* Timer restart. */
timer.start(500);
--
2.17.1
More information about the libcamera-devel
mailing list