alsa-lib/test
Takashi Sakamoto 5ba71a7b81 ctl: add test program for control element set
The feature of control element set has been abandoned for a long time since
firstly introduced in 2003. Furthermore, there's few applications to utilize
this feature. These situations bring a hard work to persons who need the
feature. Especially, a lack of test program make it harder to fix much bugs
in this feature.

This commit adds a test program as a sample of the feature. This program
adds element sets of each element type to 'hw:0' in this order; boolean,
integer, enumerated, bytes, IEC958 and integer64. Each iteration includes
below scheme:

1. add an element set with 900 elements. Each of them has maximum number
   of members allowed by ALSA ctl core.
2. check all of events generated by above operation.
3. retrieve information of each element, then validate it.
4. unlock each member of all elements because they're initially locked.
5. write to all of members in all elements and read.
6. check all of events generated by above operation.
7. write information for threshold level to the element set and read it.
8. check all of events generated by above operation.
9. remove the element set.
10.check all of events generated by above operation.

When any of these operations fail, it means regression occurs. Then, added
elements still remain in a certain sound card. In this case, unloading
drivers corresponding to the card is an easy way to recover.

Besides, this program doesn't perform below element operations of ALSA ctl
feature:
 - list
 - lock
 - replace

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2016-06-17 15:12:20 +02:00
..
lsb add config tests 2009-08-03 13:35:01 +02:00
ucm ucm: allow bind modifier to specific instances, other fixes 2011-01-31 14:24:19 +01:00
audio_time.c test: audio_time: show report validity and accuracy 2015-07-02 17:02:05 +02:00
chmap.c test/chmap: Add missing usage text for -s option 2013-11-04 14:19:03 +01:00
client_event_filter.c add a test code for snd_seq_client_info_event_filter_*() 2008-02-22 17:49:01 +01:00
code.c Fix compile errors/warnings 2005-11-21 10:48:52 +00:00
control.c added snd_user_file() function 2003-09-03 19:25:08 +00:00
latency.c test/latency.c: Fix string argument to getopt_long, so now it handles -E and -B 2012-08-08 16:29:03 +02:00
Makefile.am ctl: add test program for control element set 2016-06-17 15:12:20 +02:00
midifile.3 Fix hyphens in man pages 2004-10-08 16:15:32 +00:00
midifile.c Fix compile errors/warnings 2005-11-21 10:48:52 +00:00
midifile.h Corrections by Kevin Conder <kconder@interaccess.com> 2002-03-12 20:14:33 +00:00
midiloop.c Fix invalid long long format specifier 2012-04-24 15:38:45 +02:00
namehint.c change iface argument for namehint function to const char * 2006-10-27 13:31:32 +02:00
oldapi.c Changed Jaroslav Kysela's e-mail from perex@suse.cz to perex@perex.cz 2007-10-15 10:24:55 +02:00
omixer.c ALISP update 2003-12-23 16:42:55 +00:00
pcm.c test/pcm: Fix generated values with float PCM format 2015-06-01 13:42:56 +02:00
pcm_min.c test/pcm_min: Fix error messages 2015-06-01 13:43:36 +02:00
playmidi1.c fixed the type prefix of printd for the time (unsigned long). 2003-07-14 10:23:16 +00:00
queue_timer.c Fix compile errors/warnings 2005-11-21 10:48:52 +00:00
rawmidi.c Fixed comment 2002-07-11 08:00:45 +00:00
seq-decoder.c Remove obsolete seq event entries in seq-decoder 2007-12-21 15:26:17 +01:00
seq-sender.c Fix compile errors/warnings 2005-11-21 10:48:52 +00:00
seq.c Fix compile errors/warnings 2005-11-21 10:48:52 +00:00
timer.c added full async interface to timer API 2005-05-11 12:18:51 +00:00
user-ctl-element-set.c ctl: add test program for control element set 2016-06-17 15:12:20 +02:00