When no soundcards are available, it won't be possible to run any tests. Currently, when this happens, in both pcm-test and mixer-test, 0 tests are reported, and the pass exit code is returned. Instead, call ksft_exit_skip() so that the whole test plan is marked as skipped in the KTAP output and it exits with the skip exit code.
Signed-off-by: Nícolas F. R. A. Prado nfraprado@collabora.com
---
tools/testing/selftests/alsa/mixer-test.c | 7 +++++-- tools/testing/selftests/alsa/pcm-test.c | 7 +++++-- 2 files changed, 10 insertions(+), 4 deletions(-)
diff --git a/tools/testing/selftests/alsa/mixer-test.c b/tools/testing/selftests/alsa/mixer-test.c index c95d63e553f4..8f45c15a5667 100644 --- a/tools/testing/selftests/alsa/mixer-test.c +++ b/tools/testing/selftests/alsa/mixer-test.c @@ -66,8 +66,11 @@ static void find_controls(void) char *card_name, *card_longname;
card = -1; - if (snd_card_next(&card) < 0 || card < 0) - return; + err = snd_card_next(&card); + if (err < 0) + ksft_exit_skip("Couldn't open first soundcard. rc=%d\n", err); + if (card < 0) + ksft_exit_skip("No soundcard available\n");
config = get_alsalib_config();
diff --git a/tools/testing/selftests/alsa/pcm-test.c b/tools/testing/selftests/alsa/pcm-test.c index 2f5e3c462194..74d9cf8b5a69 100644 --- a/tools/testing/selftests/alsa/pcm-test.c +++ b/tools/testing/selftests/alsa/pcm-test.c @@ -161,8 +161,11 @@ static void find_pcms(void) snd_pcm_info_alloca(&pcm_info);
card = -1; - if (snd_card_next(&card) < 0 || card < 0) - return; + err = snd_card_next(&card); + if (err < 0) + ksft_exit_skip("Couldn't open first soundcard. rc=%d\n", err); + if (card < 0) + ksft_exit_skip("No soundcard available\n");
config = get_alsalib_config();