ACK: [F/H/I/Unstable][F-OEM-5.10/F-OEM-5.13][SRU][PATCH 1/1] selftests: timers: rtcpie: skip test if default RTC device does not exist

Kleber Souza kleber.souza at canonical.com
Mon Jul 26 11:21:36 UTC 2021


On 26.07.21 09:56, Po-Hsu Lin wrote:
> BugLink: https://bugs.launchpad.net/bugs/1937991
> 
> This test will require /dev/rtc0, the default RTC device, or one
> specified by user to run. Since this default RTC is not guaranteed to
> exist on all of the devices, so check its existence first, otherwise
> skip this test with the kselftest skip code 4.
> 
> Without this patch this test will fail like this on a s390x zVM:
> $ selftests: timers: rtcpie
> $ /dev/rtc0: No such file or directory
> not ok 1 selftests: timers: rtcpie # exit=22
> 
> With this patch:
> $ selftests: timers: rtcpie
> $ Default RTC /dev/rtc0 does not exist. Test Skipped!
> not ok 9 selftests: timers: rtcpie # SKIP
> 
> Fixed up change log so "With this patch" text doesn't get dropped.
> Shuah Khan <skhan at linuxfoundation.org>
> 
> Signed-off-by: Po-Hsu Lin <po-hsu.lin at canonical.com>
> Signed-off-by: Shuah Khan <skhan at linuxfoundation.org>
> (cherry picked from commit 0d3e5a057992bdc66e4dca2ca50b77fa4a7bd90e)
> Signed-off-by: Po-Hsu Lin <po-hsu.lin at canonical.com>

Acked-by: Kleber Sacilotto de Souza <kleber.souza at canonical.com>

Thanks

> ---
>   tools/testing/selftests/timers/rtcpie.c | 10 +++++++++-
>   1 file changed, 9 insertions(+), 1 deletion(-)
> 
> diff --git a/tools/testing/selftests/timers/rtcpie.c b/tools/testing/selftests/timers/rtcpie.c
> index 47b5bad..4ef2184 100644
> --- a/tools/testing/selftests/timers/rtcpie.c
> +++ b/tools/testing/selftests/timers/rtcpie.c
> @@ -18,6 +18,8 @@
>   #include <stdlib.h>
>   #include <errno.h>
>   
> +#include "../kselftest.h"
> +
>   /*
>    * This expects the new RTC class driver framework, working with
>    * clocks that will often not be clones of what the PC-AT had.
> @@ -35,8 +37,14 @@ int main(int argc, char **argv)
>   	switch (argc) {
>   	case 2:
>   		rtc = argv[1];
> -		/* FALLTHROUGH */
> +		break;
>   	case 1:
> +		fd = open(default_rtc, O_RDONLY);
> +		if (fd == -1) {
> +			printf("Default RTC %s does not exist. Test Skipped!\n", default_rtc);
> +			exit(KSFT_SKIP);
> +		}
> +		close(fd);
>   		break;
>   	default:
>   		fprintf(stderr, "usage:  rtctest [rtcdev] [d]\n");
> 




More information about the kernel-team mailing list