Home | History | Annotate | Line # | Download | only in mixerctl
t_mixerctl.sh revision 1.1
      1  1.1  christos # $NetBSD: t_mixerctl.sh,v 1.1 2017/01/02 15:40:09 christos Exp $
      2  1.1  christos 
      3  1.1  christos atf_test_case noargs_usage
      4  1.1  christos noargs_usage_head() {
      5  1.1  christos 	atf_set "descr" "Ensure mixerctl(1) with no args prints a usage message"
      6  1.1  christos }
      7  1.1  christos noargs_usage_body() {
      8  1.1  christos 	atf_check -s exit:0 -o not-empty -e ignore \
      9  1.1  christos 		mixerctl
     10  1.1  christos }
     11  1.1  christos 
     12  1.1  christos atf_test_case showvalue
     13  1.1  christos showvalue_head() {
     14  1.1  christos 	atf_set "descr" "Ensure mixerctl(1) can print the value for all variables"
     15  1.1  christos }
     16  1.1  christos showvalue_body() {
     17  1.1  christos 	for var in $(mixerctl -a | awk -F= '{print $1}'); do
     18  1.1  christos 		atf_check -s exit:0 -e ignore -o match:"^${var}=" \
     19  1.1  christos 			mixerctl ${var}
     20  1.1  christos 	done
     21  1.1  christos }
     22  1.1  christos 
     23  1.1  christos atf_test_case nflag
     24  1.1  christos nflag_head() {
     25  1.1  christos 	atf_set "descr" "Ensure 'mixerctl -n' actually suppresses some output"
     26  1.1  christos }
     27  1.1  christos nflag_body() {
     28  1.1  christos 	varname="$(mixerctl -a | head -1 | awk -F= '{print $1}')"
     29  1.1  christos 
     30  1.1  christos 	atf_check -s exit:0 -o match:"${varname}" -e ignore \
     31  1.1  christos 		mixerctl ${varname}
     32  1.1  christos 
     33  1.1  christos 	atf_check -s exit:0 -o not-match:"${varname}" -e ignore \
     34  1.1  christos 		mixerctl -n ${varname}
     35  1.1  christos }
     36  1.1  christos 
     37  1.1  christos atf_test_case nonexistant_device
     38  1.1  christos nonexistant_device_head() {
     39  1.1  christos 	atf_set "descr" "Ensure mixerctl(1) complains if provided a nonexistant mixer device"
     40  1.1  christos }
     41  1.1  christos nonexistant_device_body() {
     42  1.1  christos 	atf_check -s not-exit:0  -o ignore -e match:"No such file" \
     43  1.1  christos 		mixerctl -d /a/b/c/d/e
     44  1.1  christos }
     45  1.1  christos 
     46  1.1  christos atf_init_test_cases() {
     47  1.1  christos 	atf_add_test_case noargs_usage
     48  1.1  christos 	atf_add_test_case showvalue
     49  1.1  christos 	atf_add_test_case nflag
     50  1.1  christos 	atf_add_test_case nonexistant_device
     51  1.1  christos }
     52