[LTP] [PATCH 1/3] rtc02: skip test with unsupport set RTC platform

Cyril Hrubis chrubis@suse.cz
Fri Apr 29 13:07:57 CEST 2022


Hi!
> Some hardware(e.g. Fujisu FX700) does not provides a feature to set the
> RTC clock, thus test failed with EINVAL from ioctl(RTC_SET_TIME).
> 
>   tst_test.c:1431: TINFO: Timeout per run is 0h 05m 00s
>   rtc02.c:66: TINFO: To set RTC date/time is: 2020-10-09 13:23:30
>   rtc02.c:70: TFAIL: ioctl() RTC_SET_TIME: EINVAL (22)
>   tst_rtctime.c:116: TWARN: open(/dev/rtc,0,7020) failed: EBUSY (16)
>   tst_wallclock.c:117: TWARN: tst_rtc_settime() realtime failed: EBADF (9)
> 
> Signed-off-by: Li Wang <liwang@redhat.com>
> Cc: Hiroyuki Yasuhara <hyasuhar@redhat.com>
> ---
>  testcases/kernel/device-drivers/rtc/rtc02.c | 8 +++++++-
>  1 file changed, 7 insertions(+), 1 deletion(-)
> 
> diff --git a/testcases/kernel/device-drivers/rtc/rtc02.c b/testcases/kernel/device-drivers/rtc/rtc02.c
> index ef83aad89..8484a0074 100644
> --- a/testcases/kernel/device-drivers/rtc/rtc02.c
> +++ b/testcases/kernel/device-drivers/rtc/rtc02.c
> @@ -22,6 +22,7 @@
>  #include "tst_wallclock.h"
>  #include "tst_test.h"
>  
> +static int rtc_unsupport;
>  static char *rtc_dev = "/dev/rtc";
>  
>  static char *rtctime_to_str(struct rtc_time *tm)
> @@ -67,6 +68,10 @@ static void set_rtc_test(void)
>  
>  	ret = tst_rtc_settime(rtc_dev, &set_tm);
>  	if (ret != 0) {
> +		if (errno == EINVAL) {
> +			rtc_unsupport = 1;
> +			tst_brk(TCONF, "RTC may not support be set via ioctl(RTC_SET_TIME)");
> +		}

I wonder if there is a different way how to figure out setting RTC is
not supported, this may potentionaly mask away a breakage in a driver
that is supposed to be able to set time like this.

>  		tst_res(TFAIL | TERRNO, "ioctl() RTC_SET_TIME");
>  		return;
>  	}
> @@ -99,7 +104,8 @@ static void rtc_setup(void)
>  
>  static void rtc_cleanup(void)
>  {
> -	tst_rtc_clock_restore(rtc_dev);
> +	if (!rtc_unsupport)
> +		tst_rtc_clock_restore(rtc_dev);
>  }
>  
>  static struct tst_test test = {
> -- 
> 2.35.1
> 
> 
> -- 
> Mailing list info: https://lists.linux.it/listinfo/ltp

-- 
Cyril Hrubis
chrubis@suse.cz


More information about the ltp mailing list