Messages in this thread | | | Date | Wed, 16 Aug 2023 09:59:30 -0600 | Subject | Re: [PATCH v5] selftests: rtc: Fixes rtctest error handling. | From | Shuah Khan <> |
| |
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
| |