diff options
author | Simon Ser <simon.ser@intel.com> | 2019-05-29 15:21:32 +0300 |
---|---|---|
committer | Simon Ser <simon.ser@intel.com> | 2019-06-04 14:19:18 +0300 |
commit | d37fd01737dea57f33176d6525610666637a88d6 (patch) | |
tree | 587bfdb58f39a825fbdea43be7aac2d3a192c375 /lib/tests | |
parent | 908c17365708ac9095c2160e2e1343c72e96ad47 (diff) |
lib/tests/igt_audio: add test with an extra frequency
Make sure it fails.
Signed-off-by: Simon Ser <simon.ser@intel.com>
Reviewed-by: Martin Peres <martin.peres@linux.intel.com>
Diffstat (limited to 'lib/tests')
-rw-r--r-- | lib/tests/igt_audio.c | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/lib/tests/igt_audio.c b/lib/tests/igt_audio.c index 222048c1..47e61adf 100644 --- a/lib/tests/igt_audio.c +++ b/lib/tests/igt_audio.c @@ -38,6 +38,8 @@ static const int test_freqs[] = { 300, 700, 5000 }; static const size_t test_freqs_len = sizeof(test_freqs) / sizeof(test_freqs[0]); +#define TEST_EXTRA_FREQ 500 + static void test_signal_detect_untampered(struct audio_signal *signal) { double buf[BUFFER_LEN]; @@ -94,6 +96,26 @@ static void test_signal_detect_with_missing_freq(struct audio_signal *signal) igt_assert(!ok); } +static void test_signal_detect_with_unexpected_freq(struct audio_signal *signal) +{ + double buf[BUFFER_LEN]; + struct audio_signal *extra; + bool ok; + size_t i; + + /* Add an extra, unexpected frequency */ + extra = audio_signal_init(CHANNELS, SAMPLING_RATE); + for (i = 0; i < test_freqs_len; i++) { + audio_signal_add_frequency(extra, test_freqs[i], 0); + } + audio_signal_add_frequency(extra, TEST_EXTRA_FREQ, 0); + audio_signal_synthesize(extra); + + audio_signal_fill(extra, buf, BUFFER_LEN / CHANNELS); + ok = audio_signal_detect(signal, SAMPLING_RATE, 0, buf, BUFFER_LEN); + igt_assert(!ok); +} + igt_main { struct audio_signal *signal; @@ -126,6 +148,9 @@ igt_main igt_subtest("signal-detect-with-missing-freq") test_signal_detect_with_missing_freq(signal); + igt_subtest("signal-detect-with-unexpected-freq") + test_signal_detect_with_unexpected_freq(signal); + igt_fixture { audio_signal_fini(signal); } |