On Wed, 15 Jun 2016 16:57:45 +0200, Takashi Sakamoto wrote:
The feature of control element set has been abandoned for a long time since firstly introduced in 2003 (approx). Furthermore, there's few applications to utilize this feature. These situations bring a hard work to the 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
The contents are good, but could you reformat it in kernel coding style, i.e. with a hard tab and indent level 8? We aren't so strict in alsa user-space stuff, but it's still better to have some unified style.
I already applied all other patches, so just resubmit only this one.
thanks,
Takashi