• Mark Brown's avatar
    kselftest: alsa: Add simplistic test for ALSA mixer controls kselftest · 5aaf9eff
    Mark Brown authored
    Add a basic test for the mixer control interface. For every control on
    every sound card in the system it checks that it can read and write the
    default value where the control supports that and for writeable controls
    attempts to write all valid values, restoring the default values after
    each test to minimise disruption for users.
    
    There are quite a few areas for improvement - currently no coverage of the
    generation of notifications, several of the control types don't have any
    coverage for the values and we don't have any testing of error handling
    when we attempt to write out of range values - but this provides some basic
    coverage.
    
    This is added as a kselftest since unlike other ALSA test programs it does
    not require either physical setup of the device or interactive monitoring
    by users and kselftest is one of the test suites that is frequently run by
    people doing general automated testing so should increase coverage. It is
    written in terms of alsa-lib since tinyalsa is not generally packaged for
    distributions which makes things harder for general users interested in
    kselftest as a whole but it will be a barrier to people with Android.
    Signed-off-by: default avatarMark Brown <broonie@kernel.org>
    Reviewed-by: default avatarShuah Khan <skhan@linuxfoundation.org>
    Link: https://lore.kernel.org/r/20211210185410.740009-2-broonie@kernel.orgSigned-off-by: default avatarTakashi Iwai <tiwai@suse.de>
    5aaf9eff
mixer-test.c 15 KB