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

Message ID 20191006053226.8976-4-laurent.pinchart@ideasonboard.com
State Accepted
Headers show
Series
  • Timer fixes and enhancements
Related show

Commit Message

Laurent Pinchart Oct. 6, 2019, 5:32 a.m. UTC
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@ideasonboard.com>
---
 test/timer.cpp | 9 +++------
 1 file changed, 3 insertions(+), 6 deletions(-)

Comments

Jacopo Mondi Oct. 6, 2019, 6:58 p.m. UTC | #1
Hi Laurent,

On Sun, Oct 06, 2019 at 08:32:20AM +0300, Laurent Pinchart wrote:
> 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.
>

Reviewed-by: Jacopo Mondi <jacopo@jmondi.org>

Thanks
   j

> Signed-off-by: Laurent Pinchart <laurent.pinchart@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
>
> _______________________________________________
> libcamera-devel mailing list
> libcamera-devel@lists.libcamera.org
> https://lists.libcamera.org/listinfo/libcamera-devel

Patch

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_;
 };