Message ID | 20230717175251.54390-1-atulpant.linux@gmail.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | [v5] selftests: rtc: Fixes rtctest error handling. | expand |
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@gmail.com> 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); > + > + return ret; > } > -- > 2.25.1 >
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@gmail.com> > > 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
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@gmail.com> > > > > 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.
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); + + return ret; }
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@gmail.com> --- 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(-)