[PATCH] selftests: breakpoints: Skip step_after_suspend_test on systems without a wakeup capable RTC

From: Anirudh Srinivasan

Date: Fri Oct 02 2026 - 17:55:10 EST


This test puts a system into suspend state and uses CLOCK_BOOTTIME_ALARM
to wake the system up. This alarm can only wake up systems that have a
wakeup capable RTC source. On systems without such an RTC (for example,
most RISC-V boards), this test puts the system into suspend and just
hangs, requiring power cycling.

clock_getres(CLOCK_BOOTTIME_ALARM) fails with EINVAL on such systems,
so add a check based on that to skip this test on systems without a
wakeup capable RTC source.

Signed-off-by: Anirudh Srinivasan <asrinivasan@xxxxxxxxxxxxxxxxxxx>
---
tools/testing/selftests/breakpoints/step_after_suspend_test.c | 11 +++++++++++
1 file changed, 11 insertions(+)

diff --git a/tools/testing/selftests/breakpoints/step_after_suspend_test.c b/tools/testing/selftests/breakpoints/step_after_suspend_test.c
index ca2aaab9e4ca..727790259429 100644
--- a/tools/testing/selftests/breakpoints/step_after_suspend_test.c
+++ b/tools/testing/selftests/breakpoints/step_after_suspend_test.c
@@ -18,6 +18,7 @@
#include <sys/timerfd.h>
#include <sys/types.h>
#include <sys/wait.h>
+#include <time.h>

#include "kselftest.h"

@@ -158,11 +159,21 @@ void suspend(void)
int err;
int count_before;
int count_after;
+ struct timespec res;
struct itimerspec spec = {};

if (getuid() != 0)
ksft_exit_skip("Please run the test as root - Exiting.\n");

+ /*
+ * CLOCK_BOOTTIME_ALARM cannot wake up systems that don't have a
+ * wakeup capable RTC from suspend. Check if we have a wakeup-capable
+ * RTC to prevent this test from causing the system to hang after
+ * it suspends.
+ */
+ if (clock_getres(CLOCK_BOOTTIME_ALARM, &res) != 0)
+ ksft_exit_skip("No wakeup-capable RTC for CLOCK_BOOTTIME_ALARM\n");
+
timerfd = timerfd_create(CLOCK_BOOTTIME_ALARM, 0);
if (timerfd < 0)
ksft_exit_fail_msg("timerfd_create() failed\n");

---
base-commit: cee9395acd8043be0644b25c34bfa86623f2b935
change-id: 20261002-breakpoints_rtc-0686388d44ff

Best regards,
--
Anirudh Srinivasan <asrinivasan@xxxxxxxxxxxxxxxxxxx>