[libcamera-devel] [PATCH 3/9] test: timer: Test that deadline() isn't reset upon time out

Laurent Pinchart laurent.pinchart at ideasonboard.com
Sun Oct 6 07:32:20 CEST 2019


Verify that the timer deadline stays valid after the timer expires. As
the test now uses the deadline in order to compute the jitter, the
interval_ field isn't used anymore and can be removed.

Signed-off-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
---
 test/timer.cpp | 9 +++------
 1 file changed, 3 insertions(+), 6 deletions(-)

diff --git a/test/timer.cpp b/test/timer.cpp
index af922cb371cd..d4f16a9bdd97 100644
--- a/test/timer.cpp
+++ b/test/timer.cpp
@@ -21,14 +21,13 @@ class ManagedTimer : public Timer
 {
 public:
 	ManagedTimer()
-		: Timer(), interval_(0)
+		: Timer()
 	{
 		timeout.connect(this, &ManagedTimer::timeoutHandler);
 	}
 
 	void start(int msec)
 	{
-		interval_ = msec;
 		start_ = std::chrono::steady_clock::now();
 		expiration_ = std::chrono::steady_clock::time_point();
 
@@ -37,9 +36,8 @@ public:
 
 	int jitter()
 	{
-		std::chrono::steady_clock::duration duration = expiration_ - start_;
-		int msecs = std::chrono::duration_cast<std::chrono::milliseconds>(duration).count();
-		return abs(msecs - interval_);
+		std::chrono::steady_clock::duration duration = expiration_ - deadline();
+		return abs(std::chrono::duration_cast<std::chrono::milliseconds>(duration).count());
 	}
 
 private:
@@ -48,7 +46,6 @@ private:
 		expiration_ = std::chrono::steady_clock::now();
 	}
 
-	int interval_;
 	std::chrono::steady_clock::time_point start_;
 	std::chrono::steady_clock::time_point expiration_;
 };
-- 
Regards,

Laurent Pinchart



More information about the libcamera-devel mailing list