Skip to contentSkip to conversation

selftests: rtc: Improves rtctest error handling.

PATCH Superseded Atul Kumar Pant 2 participants 2 messages Apr 29, 2023 – Jun 6, 2023

Subsystems (2)

v2 of 6 Superseded Latest is v6 →

lore
Share & tools
lore
#0 lore raw

PATCH v2 1/1 selftests: rtc: Improves rtctest error handling.

When running the rtctest if we pass wrong rtc device file as an argument the test fails expectedly, but prints the logs that are not useful to point out the issue.
To handle this, the patch adds a checks to verify if the rtc_file is valid.

---

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(-)
tools/testing/selftests/rtc/rtctest.c +10 -1
index 2b9d929a24ed..07f7dcd47102 100644
@@ -17,6 +17,7 @@
 #include <unistd.h>
 
 #include "../kselftest_harness.h"
+#include "../kselftest.h"
 
 #define NUM_UIE 3
 #define ALARM_DELTA 3
@@ -388,6 +389,8 @@ __constructor_order_last(void)
 
 int main(int argc, char **argv)
 {
+	int ret = -1;
+
 	switch (argc) {
 	case 2:
 		rtc_file = argv[1];
@@ -399,5 +402,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]: %s : File does not exists - Exiting\n", rtc_file);
+
+	return ret;
 }
Signature · 6 lines
2.25.1

_______________________________________________
Linux-kernel-mentees mailing list
[email protected]
https://lists.linuxfoundation.org/mailman/listinfo/linux-kernel-mentees
#1 lore raw
Quoted 37 lines · Atul Kumar Pant

When running the rtctest if we pass wrong rtc device file as an argument the test fails expectedly, but prints the logs that are not useful to point out the issue.
To handle this, the patch adds a checks to verify if the rtc_file is valid.

---

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(-)
tools/testing/selftests/rtc/rtctest.c +3 -0
index 2b9d929a24ed..07f7dcd47102 100644
@@ -17,6 +17,7 @@
 #include <unistd.h>
 
 #include "../kselftest_harness.h"
+#include "../kselftest.h"
 
 #define NUM_UIE 3
 #define ALARM_DELTA 3
@@ -388,6 +389,8 @@ __constructor_order_last(void)
 
 int main(int argc, char **argv)
 {
+	int ret = -1;
+
 	switch (argc) {
 	case 2:
 		rtc_file = argv[1];

tools/testing/selftests/rtc/rtctest.c int main(int argc, char **argv) · line 405

Quoted 5 lines
tools/testing/selftests/rtc/rtctest.c +1 -1
@@ -399,5 +402,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 to rtc_file is valid

tools/testing/selftests/rtc/rtctest.c int main(int argc, char **argv) · line 409

Quoted 4 lines
tools/testing/selftests/rtc/rtctest.c +4 -0
+	if (access(rtc_file, F_OK) == 0)
+		ret = test_harness_run(argc, argv);
+	else
+		ksft_exit_fail_msg("[ERROR]: %s : File does not exists - Exiting\n", rtc_file);

It doesn't necessarily means the file does not exist but that you don't have access to it.

Quoted 6 lines
tools/testing/selftests/rtc/rtctest.c +2 -0
+
+	return ret;
 }
Signature · 1 line
2.25.1
Signature · 7 lines
Alexandre Belloni, co-owner and COO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
_______________________________________________
Linux-kernel-mentees mailing list
[email protected]
https://lists.linuxfoundation.org/mailman/listinfo/linux-kernel-mentees