1238106Sdes# $NetBSD: t_mixerctl.sh,v 1.1 2017/01/02 15:40:09 christos Exp $
2238106Sdes
3238106Sdesatf_test_case noargs_usage
4238106Sdesnoargs_usage_head() {
5238106Sdes	atf_set "descr" "Ensure mixerctl(1) with no args prints a usage message"
6238106Sdes}
7238106Sdesnoargs_usage_body() {
8238106Sdes	atf_check -s exit:0 -o not-empty -e ignore \
9238106Sdes		mixerctl
10238106Sdes}
11238106Sdes
12238106Sdesatf_test_case showvalue
13238106Sdesshowvalue_head() {
14238106Sdes	atf_set "descr" "Ensure mixerctl(1) can print the value for all variables"
15238106Sdes}
16238106Sdesshowvalue_body() {
17238106Sdes	for var in $(mixerctl -a | awk -F= '{print $1}'); do
18238106Sdes		atf_check -s exit:0 -e ignore -o match:"^${var}=" \
19238106Sdes			mixerctl ${var}
20238106Sdes	done
21238106Sdes}
22238106Sdes
23238106Sdesatf_test_case nflag
24238106Sdesnflag_head() {
25238106Sdes	atf_set "descr" "Ensure 'mixerctl -n' actually suppresses some output"
26238106Sdes}
27238106Sdesnflag_body() {
28238106Sdes	varname="$(mixerctl -a | head -1 | awk -F= '{print $1}')"
29238106Sdes
30238106Sdes	atf_check -s exit:0 -o match:"${varname}" -e ignore \
31238106Sdes		mixerctl ${varname}
32238106Sdes
33238106Sdes	atf_check -s exit:0 -o not-match:"${varname}" -e ignore \
34238106Sdes		mixerctl -n ${varname}
35238106Sdes}
36238106Sdes
37238106Sdesatf_test_case nonexistant_device
38238106Sdesnonexistant_device_head() {
39238106Sdes	atf_set "descr" "Ensure mixerctl(1) complains if provided a nonexistant mixer device"
40238106Sdes}
41238106Sdesnonexistant_device_body() {
42238106Sdes	atf_check -s not-exit:0  -o ignore -e match:"No such file" \
43238106Sdes		mixerctl -d /a/b/c/d/e
44238106Sdes}
45238106Sdes
46238106Sdesatf_init_test_cases() {
47238106Sdes	atf_add_test_case noargs_usage
48238106Sdes	atf_add_test_case showvalue
49238106Sdes	atf_add_test_case nflag
50238106Sdes	atf_add_test_case nonexistant_device
51238106Sdes}
52238106Sdes