]> git.itanic.dy.fi Git - linux-stable/commitdiff
kselftest/alsa: pcm-test: Move stream duration and margin to variables
authorNícolas F. R. A. Prado <nfraprado@collabora.com>
Tue, 20 Jun 2023 22:08:25 +0000 (18:08 -0400)
committerTakashi Iwai <tiwai@suse.de>
Mon, 10 Jul 2023 06:58:00 +0000 (08:58 +0200)
The duration to stream for and time margin to consider the stream failed
are currently hardcoded values. Move them to variables so they can be
reused and more easily changed.

Signed-off-by: Nícolas F. R. A. Prado <nfraprado@collabora.com>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Link: https://lore.kernel.org/r/20230620220839.2215057-2-nfraprado@collabora.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>
tools/testing/selftests/alsa/pcm-test.c

index b7eef32addb4a40eb0c17bdebd73055a89047819..9384aebae99be3f984fe9447596fffc59eb05654 100644 (file)
@@ -258,6 +258,8 @@ static void test_pcm_time(struct pcm_data *data, enum test_class class,
                          const char *test_name, snd_config_t *pcm_cfg)
 {
        char name[64], key[128], msg[256];
+       const int duration_s = 4, margin_ms = 100;
+       const int duration_ms = duration_s * 1000;
        const char *cs;
        int i, err;
        snd_pcm_t *handle = NULL;
@@ -442,7 +444,7 @@ static void test_pcm_time(struct pcm_data *data, enum test_class class,
        skip = false;
 
        timestamp_now(&tstamp);
-       for (i = 0; i < 4; i++) {
+       for (i = 0; i < duration_s; i++) {
                if (data->stream == SND_PCM_STREAM_PLAYBACK) {
                        frames = snd_pcm_writei(handle, samples, rate);
                        if (frames < 0) {
@@ -472,8 +474,8 @@ static void test_pcm_time(struct pcm_data *data, enum test_class class,
 
        snd_pcm_drain(handle);
        ms = timestamp_diff_ms(&tstamp);
-       if (ms < 3900 || ms > 4100) {
-               snprintf(msg, sizeof(msg), "time mismatch: expected 4000ms got %lld", ms);
+       if (ms < duration_ms - margin_ms || ms > duration_ms + margin_ms) {
+               snprintf(msg, sizeof(msg), "time mismatch: expected %dms got %lld", duration_ms, ms);
                goto __close;
        }