From 1dc7845c0673ee9da84a74a085a88fa1b1e68db9 Mon Sep 17 00:00:00 2001 From: yangguangcai Date: Fri, 12 May 2023 17:09:28 +0800 Subject: [PATCH] drivertest/timer:test interface getstatus. Signed-off-by: yangguangcai --- testing/drivertest/drivertest_timer.c | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/testing/drivertest/drivertest_timer.c b/testing/drivertest/drivertest_timer.c index 8694d7156..8ab735428 100644 --- a/testing/drivertest/drivertest_timer.c +++ b/testing/drivertest/drivertest_timer.c @@ -38,7 +38,7 @@ #include #include #include - +#include #include /**************************************************************************** @@ -209,8 +209,10 @@ static void test_case_timer(FAR void **state) int ret; uint32_t range; uint32_t tim; + uint32_t max_timeout; struct sigaction act; struct timer_notify_s notify; + struct timer_status_s timer_status; FAR struct timer_state_s *timer_state; timer_state = (FAR struct timer_state_s *)*state; @@ -251,6 +253,20 @@ static void test_case_timer(FAR void **state) ret = ioctl(fd, TCIOC_START, 0); assert_return_code(ret, OK); + /* Get status */ + + ret = ioctl(fd, TCIOC_GETSTATUS, &timer_status); + assert_return_code(ret, OK); + assert_int_equal(timer_state->interval / 1000, timer_status.timeout); + assert_in_range(timer_status.timeleft, + 0, timer_state->interval / 1000); + + /* Get max timeout */ + + ret = ioctl(fd, TCIOC_MAXTIMEOUT, &max_timeout); + assert_return_code(ret, OK); + syslog(LOG_DEBUG, "max timeout:%ld\n", max_timeout); + /* Set the timer interval */ for (i = 0; i < timer_state->nsamples; i++)