On Fri, 17 Jun 2016 14:26:42 +0200, Takashi Sakamoto wrote:
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:
- add an element set with 900 elements. Each of them has maximum number of members allowed by ALSA ctl core.
- check all of events generated by above operation.
- retrieve information of each element, then validate it.
- unlock each member of all elements because they're initially locked.
- write to all of members in all elements and read.
- check all of events generated by above operation.
- write information for threshold level to the element set and read it.
- check all of events generated by above operation.
- 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
Applied, thanks.
Takashi