test: test sandbox sound driver more rigorously
Consider unexpected values for frequency:
* negative frequency
* zero frequency
* frequency exceeding sampling frequency
As in these cases the sum of the samples is zero also check the count of
the samples.
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
diff --git a/test/dm/sound.c b/test/dm/sound.c
index b73f6ab..15d545a 100644
--- a/test/dm/sound.c
+++ b/test/dm/sound.c
@@ -26,8 +26,19 @@
ut_asserteq(0, sandbox_get_setup_called(dev));
ut_assertok(sound_beep(dev, 1, 100));
+ ut_asserteq(48, sandbox_get_sound_count(dev));
ut_asserteq(4560, sandbox_get_sound_sum(dev));
ut_assertok(sound_beep(dev, 1, 100));
+ ut_asserteq(96, sandbox_get_sound_count(dev));
+ ut_asserteq(9120, sandbox_get_sound_sum(dev));
+ ut_assertok(sound_beep(dev, 1, -100));
+ ut_asserteq(144, sandbox_get_sound_count(dev));
+ ut_asserteq(9120, sandbox_get_sound_sum(dev));
+ ut_assertok(sound_beep(dev, 1, 0));
+ ut_asserteq(192, sandbox_get_sound_count(dev));
+ ut_asserteq(9120, sandbox_get_sound_sum(dev));
+ ut_assertok(sound_beep(dev, 1, INT_MAX));
+ ut_asserteq(240, sandbox_get_sound_count(dev));
ut_asserteq(9120, sandbox_get_sound_sum(dev));
ut_asserteq(false, sandbox_get_sound_active(dev));