[PATCH v2] selftests: ALSA: Skip timer tests when device is unavailable
From: Alireza Feyzabadi Farahani
Date: Sun Sep 27 2026 - 02:45:03 EST
When CONFIG_SND is disabled, opening /dev/snd/timer fails and the
userspace timer tests report failures even though the test environment
does not support ALSA timers.
Skip the affected tests when opening the timer device fails because the
device is unavailable. Continue to report unexpected open failures as
test failures.
Closes: https://bugzilla.kernel.org/show_bug.cgi?id=218479
Signed-off-by: Alireza Feyzabadi Farahani <arfa79lg@xxxxxxxxx>
---
Changes in v2:
- Limit the change to the timer tests, leaving the PCM and mixer tests
unchanged, as suggested by Mark Brown.
tools/testing/selftests/alsa/utimer-test.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/tools/testing/selftests/alsa/utimer-test.c b/tools/testing/selftests/alsa/utimer-test.c
index 1a9ff010c..07aeaa777 100644
--- a/tools/testing/selftests/alsa/utimer-test.c
+++ b/tools/testing/selftests/alsa/utimer-test.c
@@ -51,6 +51,9 @@ FIXTURE_SETUP(timer_f) {
self->utimer_info->resolution = (NANO / FRAME_RATE * PERIOD_SIZE);
timer_dev_fd = open("/dev/snd/timer", O_RDONLY);
+ if (timer_dev_fd < 0 &&
+ (errno == ENOENT || errno == ENODEV || errno == ENXIO))
+ SKIP(return, "ALSA timer device unavailable");
ASSERT_GE(timer_dev_fd, 0);
if (ioctl(timer_dev_fd, SNDRV_TIMER_IOCTL_CREATE, self->utimer_info) < 0) {
@@ -156,6 +159,9 @@ TEST(wrong_timers_test) {
};
timer_dev_fd = open("/dev/snd/timer", O_RDONLY);
+ if (timer_dev_fd < 0 &&
+ (errno == ENOENT || errno == ENODEV || errno == ENXIO))
+ SKIP(return, "ALSA timer device unavailable");
ASSERT_GE(timer_dev_fd, 0);
utimer_fd = ioctl(timer_dev_fd, SNDRV_TIMER_IOCTL_CREATE, &wrong_timer);
--
2.34.1