kselftest/alsa: pcm-test: Move stream duration and margin to variables

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>
This commit is contained in:
Nícolas F. R. A. Prado 2023-06-20 18:08:25 -04:00 committed by Takashi Iwai
parent 35bc3efb31
commit 0825d54a30

View 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 @@ __format:
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 @@ __format:
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;
}