Re: [PATCH] rtc: rtctest: Improve support detection

From: Alexandre Belloni
Date: Sat Aug 12 2017 - 16:22:45 EST


Hi,

On 11/08/2017 at 11:14:55 +0200, LukÃÅ Doktor wrote:
> The rtc-generic and opal-rtc are failing to run this test as they do not
> support all the features. Let's treat the error returns and skip to the
> following test.
>
> Theoretically the test_DATE should be also adjusted, but as it's enabled
> on demand I think it makes sense to fail in such case.
>
> Signed-off-by: LukÃÅ Doktor <ldoktor@xxxxxxxxxx>
> ---
> tools/testing/selftests/timers/rtctest.c | 9 +++++++--
> 1 file changed, 7 insertions(+), 2 deletions(-)
>
> diff --git a/tools/testing/selftests/timers/rtctest.c b/tools/testing/selftests/timers/rtctest.c
> index f61170f..6344842 100644
> --- a/tools/testing/selftests/timers/rtctest.c
> +++ b/tools/testing/selftests/timers/rtctest.c
> @@ -125,7 +125,7 @@ int main(int argc, char **argv)
> /* Turn on update interrupts (one per second) */
> retval = ioctl(fd, RTC_UIE_ON, 0);
> if (retval == -1) {
> - if (errno == EINVAL) {
> + if (errno == EINVAL || errno == EINVAL) {

Well, this needs to be fixed.

> fprintf(stderr,
> "\n...Update IRQs not supported.\n");
> goto test_READ;
> @@ -221,6 +221,11 @@ int main(int argc, char **argv)
> /* Read the current alarm settings */
> retval = ioctl(fd, RTC_ALM_READ, &rtc_tm);
> if (retval == -1) {
> + if (errno == EINVAL) {
> + fprintf(stderr,
> + "\n...EINVAL reading current alarm setting.\n");
> + goto test_PIE;
> + }
> perror("RTC_ALM_READ ioctl");
> exit(errno);
> }
> @@ -231,7 +236,7 @@ int main(int argc, char **argv)
> /* Enable alarm interrupts */
> retval = ioctl(fd, RTC_AIE_ON, 0);
> if (retval == -1) {
> - if (errno == EINVAL) {
> + if (errno == EINVAL || errno ==EIO) {
> fprintf(stderr,
> "\n...Alarm IRQs not supported.\n");
> goto test_PIE;
> --
> 2.9.4
>

--
Alexandre Belloni, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com