diff mbox series

selftest: rtc: skip alarm test if RTC is minute resolution

Message ID 20250401122923.10848-1-o451686892@gmail.com (mailing list archive)
State New
Headers show
Series selftest: rtc: skip alarm test if RTC is minute resolution | expand

Commit Message

Weizhao Ouyang April 1, 2025, 12:29 p.m. UTC
Skip second resolution alarm test if RTC is minute resolution.

Signed-off-by: Weizhao Ouyang <o451686892@gmail.com>
---
 tools/testing/selftests/rtc/rtctest.c | 8 ++++++++
 1 file changed, 8 insertions(+)
diff mbox series

Patch

diff --git a/tools/testing/selftests/rtc/rtctest.c b/tools/testing/selftests/rtc/rtctest.c
index e103097d0b5b..b8d196f1c5f6 100644
--- a/tools/testing/selftests/rtc/rtctest.c
+++ b/tools/testing/selftests/rtc/rtctest.c
@@ -28,6 +28,7 @@  static char *rtc_file = "/dev/rtc0";
 enum rtc_alarm_state {
 	RTC_ALARM_UNKNOWN,
 	RTC_ALARM_ENABLED,
+	RTC_ALARM_MINUTE,
 	RTC_ALARM_DISABLED,
 };
 
@@ -100,6 +101,9 @@  static enum rtc_alarm_state get_rtc_alarm_state(int fd)
 	if (rc < 0)
 		return RTC_ALARM_UNKNOWN;
 
+	if (param.uvalue & _BITUL(RTC_FEATURE_ALARM_RES_MINUTE))
+		return RTC_ALARM_MINUTE;
+
 	if ((param.uvalue & _BITUL(RTC_FEATURE_ALARM)) == 0)
 		return RTC_ALARM_DISABLED;
 
@@ -230,6 +234,8 @@  TEST_F(rtc, alarm_alm_set) {
 	alarm_state = get_rtc_alarm_state(self->fd);
 	if (alarm_state == RTC_ALARM_DISABLED)
 		SKIP(return, "Skipping test since alarms are not supported.");
+	if (alarm_state == RTC_ALARM_MINUTE)
+		SKIP(return, "Skipping test since alarms have minute resolution.");
 
 	rc = ioctl(self->fd, RTC_RD_TIME, &tm);
 	ASSERT_NE(-1, rc);
@@ -298,6 +304,8 @@  TEST_F(rtc, alarm_wkalm_set) {
 	alarm_state = get_rtc_alarm_state(self->fd);
 	if (alarm_state == RTC_ALARM_DISABLED)
 		SKIP(return, "Skipping test since alarms are not supported.");
+	if (alarm_state == RTC_ALARM_MINUTE)
+		SKIP(return, "Skipping test since alarms have minute resolution.");
 
 	rc = ioctl(self->fd, RTC_RD_TIME, &alarm.time);
 	ASSERT_NE(-1, rc);