Re: [PATCH v5] selftests: rtc: Fixes rtctest error handling.

From: Atul Kumar Pant
Date: Thu Aug 17 2023 - 05:17:14 EST


On Wed, Aug 16, 2023 at 09:59:30AM -0600, Shuah Khan wrote:
> On 7/17/23 15:15, Alexandre Belloni wrote:
> > On 17/07/2023 23:22:51+0530, Atul Kumar Pant wrote:
> > > Adds a check to verify if the rtc device file is valid or not
> > > and prints a useful error message if the file is not accessible.
> > >
> > > Signed-off-by: Atul Kumar Pant <atulpant.linux@xxxxxxxxx>
> >
> > Please collect and keep the tags you got on previous versions
> >
> > > ---
> > >
> > > changes since v4:
> > > Updated the commit message.
> > >
> > > changes since v3:
> > > Added Linux-kselftest and Linux-kernel mailing lists.
> > >
> > > changes since v2:
> > > Changed error message when rtc file does not exist.
> > >
> > > changes since v1:
> > > Removed check for uid=0
> > > If rtc file is invalid, then exit the test.
> > >
> > > tools/testing/selftests/rtc/rtctest.c | 11 ++++++++++-
> > > 1 file changed, 10 insertions(+), 1 deletion(-)
> > >
> > > diff --git a/tools/testing/selftests/rtc/rtctest.c b/tools/testing/selftests/rtc/rtctest.c
> > > index 63ce02d1d5cc..630fef735c7e 100644
> > > --- a/tools/testing/selftests/rtc/rtctest.c
> > > +++ b/tools/testing/selftests/rtc/rtctest.c
> > > @@ -17,6 +17,7 @@
> > > #include <unistd.h>
> > > #include "../kselftest_harness.h"
> > > +#include "../kselftest.h"
> > > #define NUM_UIE 3
> > > #define ALARM_DELTA 3
> > > @@ -419,6 +420,8 @@ __constructor_order_last(void)
> > > int main(int argc, char **argv)
> > > {
> > > + int ret = -1;
> > > +
> > > switch (argc) {
> > > case 2:
> > > rtc_file = argv[1];
> > > @@ -430,5 +433,11 @@ int main(int argc, char **argv)
> > > return 1;
> > > }
> > > - return test_harness_run(argc, argv);
> > > + // Run the test if rtc_file is valid
> > > + if (access(rtc_file, F_OK) == 0)
> > > + ret = test_harness_run(argc, argv);
> > > + else
> > > + ksft_exit_fail_msg("[ERROR]: Cannot access rtc file %s - Exiting\n", rtc_file);
>
> This should be skip not a fail. access() could for a number of reasons.
> Since the test isn't run when access() returns error, this would be a
> skip. Also the new message could be improved to use strerror() to
> print message with details on why access() failed.
> thanks,
> -- Shuah

Thank for the feedback. I have made the changes based on above
comments and updated the patch.