(command.CommandList children: [ (C {<atf_test_case>} {<noargs_usage>}) (command.ShFunction name: noargs_usage_head body: (BraceGroup children: [ (C {<atf_set>} {(DQ <descr>)} {(DQ <'Ensure mixerctl(1) with no args prints a usage message'>)} ) ] ) ) (command.ShFunction name: noargs_usage_body body: (BraceGroup children: [ (C {<atf_check>} {<-s>} {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {<-o>} {<not-empty>} {<-e>} {<ignore>} {<mixerctl>} ) ] ) ) (C {<atf_test_case>} {<showvalue>}) (command.ShFunction name: showvalue_head body: (BraceGroup children: [ (C {<atf_set>} {(DQ <descr>)} {(DQ <'Ensure mixerctl(1) can print the value for all variables'>)} ) ] ) ) (command.ShFunction name: showvalue_body body: (BraceGroup children: [ (command.ForEach iter_names: [var] iterable: (for_iter.Words words: [ { (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<mixerctl>} {<-a>}) (C {<awk>} {<-F> <Id.Lit_Equals '='>} {(SQ <'{print $1}'>)}) ] negated: F ) ) } ] ) body: (command.DoGroup children: [ (C {<atf_check>} {<-s>} {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {<-e>} {<ignore>} {<-o>} {<match> <Id.Lit_Colon ':'> (DQ <'^'> (${ Id.VSub_Name var) <'='>)} {<mixerctl>} {(${ Id.VSub_Name var)} ) ] ) ) ] ) ) (C {<atf_test_case>} {<nflag>}) (command.ShFunction name: nflag_head body: (BraceGroup children: [ (C {<atf_set>} {(DQ <descr>)} {(DQ <'Ensure \'mixerctl -n\' actually suppresses some output'>)} ) ] ) ) (command.ShFunction name: nflag_body body: (BraceGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:varname) op: assign_op.Equal rhs: { (DQ (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<mixerctl>} {<-a>}) (C {<head>} {<-1>}) (C {<awk>} {<-F> <Id.Lit_Equals '='>} {(SQ <'{print $1}'>)}) ] negated: F ) ) ) } spids: [182] ) ] ) (C {<atf_check>} {<-s>} {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {<-o>} {<match> <Id.Lit_Colon ':'> (DQ (${ Id.VSub_Name varname))} {<-e>} {<ignore>} {<mixerctl>} {(${ Id.VSub_Name varname)} ) (C {<atf_check>} {<-s>} {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {<-o>} {<not-match> <Id.Lit_Colon ':'> (DQ (${ Id.VSub_Name varname))} {<-e>} {<ignore>} {<mixerctl>} {<-n>} {(${ Id.VSub_Name varname)} ) ] ) ) (C {<atf_test_case>} {<nonexistant_device>}) (command.ShFunction name: nonexistant_device_head body: (BraceGroup children: [ (C {<atf_set>} {(DQ <descr>)} {(DQ <'Ensure mixerctl(1) complains if provided a nonexistant mixer device'>)} ) ] ) ) (command.ShFunction name: nonexistant_device_body body: (BraceGroup children: [ (C {<atf_check>} {<-s>} {<not-exit> <Id.Lit_Colon ':'> <0>} {<-o>} {<ignore>} {<-e>} {<match> <Id.Lit_Colon ':'> (DQ <'No such file'>)} {<mixerctl>} {<-d>} {<'/a/b/c/d/e'>} ) ] ) ) (command.ShFunction name: atf_init_test_cases body: (BraceGroup children: [ (C {<atf_add_test_case>} {<noargs_usage>}) (C {<atf_add_test_case>} {<showvalue>}) (C {<atf_add_test_case>} {<nflag>}) (C {<atf_add_test_case>} {<nonexistant_device>}) ] ) ) ] )