Commit 7c79b10b authored by Mark Brown's avatar Mark Brown Committed by Takashi Iwai

kselftest/alsa - mixer-test: Don't fail tests if we can't restore default

If a control has an invalid default value then we might fail to set it
when restoring the default value after our write tests, for example due to
correctly implemented range checks in put() operations. Currently this
causes us to report the tests we were running as failed even when the
operation we were trying to test is successful, making it look like there
are problems where none really exist. Stop doing this, only reporting any
issues during the actual test.

We already have validation for the initial readback being in spec and for
writing the default value back so failed tests will be reported for these
controls, and we log an error on the operation that failed when we write so
there will be a diagnostic warning the user that there is a problem.
Signed-off-by: default avatarMark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20230224-alsa-mixer-test-restore-invalid-v1-1-454f0f1f2c4b@kernel.orgSigned-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent fe15c26e
...@@ -755,7 +755,6 @@ static bool test_ctl_write_valid_enumerated(struct ctl_data *ctl) ...@@ -755,7 +755,6 @@ static bool test_ctl_write_valid_enumerated(struct ctl_data *ctl)
static void test_ctl_write_valid(struct ctl_data *ctl) static void test_ctl_write_valid(struct ctl_data *ctl)
{ {
bool pass; bool pass;
int err;
/* If the control is turned off let's be polite */ /* If the control is turned off let's be polite */
if (snd_ctl_elem_info_is_inactive(ctl->info)) { if (snd_ctl_elem_info_is_inactive(ctl->info)) {
...@@ -797,9 +796,7 @@ static void test_ctl_write_valid(struct ctl_data *ctl) ...@@ -797,9 +796,7 @@ static void test_ctl_write_valid(struct ctl_data *ctl)
} }
/* Restore the default value to minimise disruption */ /* Restore the default value to minimise disruption */
err = write_and_verify(ctl, ctl->def_val, NULL); write_and_verify(ctl, ctl->def_val, NULL);
if (err < 0)
pass = false;
ksft_test_result(pass, "write_valid.%d.%d\n", ksft_test_result(pass, "write_valid.%d.%d\n",
ctl->card->card, ctl->elem); ctl->card->card, ctl->elem);
...@@ -1015,9 +1012,7 @@ static void test_ctl_write_invalid(struct ctl_data *ctl) ...@@ -1015,9 +1012,7 @@ static void test_ctl_write_invalid(struct ctl_data *ctl)
} }
/* Restore the default value to minimise disruption */ /* Restore the default value to minimise disruption */
err = write_and_verify(ctl, ctl->def_val, NULL); write_and_verify(ctl, ctl->def_val, NULL);
if (err < 0)
pass = false;
ksft_test_result(pass, "write_invalid.%d.%d\n", ksft_test_result(pass, "write_invalid.%d.%d\n",
ctl->card->card, ctl->elem); ctl->card->card, ctl->elem);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment