diff mbox series

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

Message ID 20230717175251.54390-1-atulpant.linux@gmail.com
State New
Headers show
Series [v5] selftests: rtc: Fixes rtctest error handling. | expand

Commit Message

Atul Kumar Pant July 17, 2023, 5:52 p.m. UTC
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(-)

Comments

Atul Kumar Pant Aug. 17, 2023, 9:15 a.m. UTC | #1
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 mbox series

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;
 }