(command.CommandList children: [ (C {<atf_test_case>} {<atf_check_info_ok>}) (command.ShFunction name: atf_check_info_ok_head body: (BraceGroup children: [ (C {<atf_set>} {(DQ <descr>)} {(DQ <'Helper test case for the t_atf_check test program'>)}) ] ) ) (command.ShFunction name: atf_check_info_ok_body body: (BraceGroup children: [ (C {<atf_check>} {<-s>} {<eq> <Id.Lit_Colon ':'> <0>} {<-o>} {<empty>} {<-e>} {<empty>} {<true>}) ] ) ) (C {<atf_test_case>} {<atf_check_info_fail>}) (command.ShFunction name: atf_check_info_fail_head body: (BraceGroup children: [ (C {<atf_set>} {(DQ <descr>)} {(DQ <'Helper test case for the t_atf_check test program'>)}) ] ) ) (command.ShFunction name: atf_check_info_fail_body body: (BraceGroup children: [ (C {<atf_check>} {<-s>} {<eq> <Id.Lit_Colon ':'> <1>} {<-o>} {<empty>} {<-e>} {<empty>} {<sh>} {<-c>} {(DQ <false>)} ) ] ) ) (C {<atf_test_case>} {<atf_check_expout_mismatch>}) (command.ShFunction name: atf_check_expout_mismatch_head body: (BraceGroup children: [ (C {<atf_set>} {(DQ <descr>)} {(DQ <'Helper test case for the t_atf_check test program'>)}) ] ) ) (command.ShFunction name: atf_check_expout_mismatch_body body: (BraceGroup children: [ (command.Simple words: [{<cat>}] redirects: [ (redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<expout>}) (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.MultiLine here_begin: {<SECONDEOF>} here_end_span_id: 239 stdin_parts: [<'foo\n'>] ) ) ] do_fork: T ) (C {<atf_check>} {<-s>} {<eq> <Id.Lit_Colon ':'> <0>} {<-o>} {<file> <Id.Lit_Colon ':'> <expout>} {<-e>} {<empty>} {<echo>} {<bar>} ) ] ) ) (C {<atf_test_case>} {<atf_check_experr_mismatch>}) (command.ShFunction name: atf_check_experr_mismatch_head body: (BraceGroup children: [ (C {<atf_set>} {(DQ <descr>)} {(DQ <'Helper test case for the t_atf_check test program'>)}) ] ) ) (command.ShFunction name: atf_check_experr_mismatch_body body: (BraceGroup children: [ (command.Simple words: [{<cat>}] redirects: [ (redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<experr>}) (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.MultiLine here_begin: {<SECONDEOF>} here_end_span_id: 306 stdin_parts: [<'foo\n'>] ) ) ] do_fork: T ) (C {<atf_check>} {<-s>} {<eq> <Id.Lit_Colon ':'> <0>} {<-o>} {<empty>} {<-e>} {<file> <Id.Lit_Colon ':'> <experr>} {<-x>} {(SQ <'echo bar 1>&2'>)} ) ] ) ) (C {<atf_test_case>} {<atf_check_null_stdout>}) (command.ShFunction name: atf_check_null_stdout_head body: (BraceGroup children: [ (C {<atf_set>} {(DQ <descr>)} {(DQ <'Helper test case for the t_atf_check test program'>)}) ] ) ) (command.ShFunction name: atf_check_null_stdout_body body: (BraceGroup children: [ (C {<atf_check>} {<-s>} {<eq> <Id.Lit_Colon ':'> <0>} {<-o>} {<empty>} {<-e>} {<empty>} {<echo>} {(DQ <'These are the contents'>)} ) ] ) ) (C {<atf_test_case>} {<atf_check_null_stderr>}) (command.ShFunction name: atf_check_null_stderr_head body: (BraceGroup children: [ (C {<atf_set>} {(DQ <descr>)} {(DQ <'Helper test case for the t_atf_check test program'>)}) ] ) ) (command.ShFunction name: atf_check_null_stderr_body body: (BraceGroup children: [ (C {<atf_check>} {<-s>} {<eq> <Id.Lit_Colon ':'> <0>} {<-o>} {<empty>} {<-e>} {<empty>} {<-x>} {(SQ <'echo "These are the contents" 1>&2'>)} ) ] ) ) (C {<atf_test_case>} {<atf_check_equal_ok>}) (command.ShFunction name: atf_check_equal_ok_head body: (BraceGroup children: [ (C {<atf_set>} {(DQ <descr>)} {(DQ <'Helper test case for the t_atf_check test program'>)}) ] ) ) (command.ShFunction name: atf_check_equal_ok_body body: (BraceGroup children:[(C {<atf_check_equal>} {<a>} {<a>})]) ) (C {<atf_test_case>} {<atf_check_equal_fail>}) (command.ShFunction name: atf_check_equal_fail_head body: (BraceGroup children: [ (C {<atf_set>} {(DQ <descr>)} {(DQ <'Helper test case for the t_atf_check test program'>)}) ] ) ) (command.ShFunction name: atf_check_equal_fail_body body: (BraceGroup children:[(C {<atf_check_equal>} {<a>} {<b>})]) ) (C {<atf_test_case>} {<atf_check_equal_eval_ok>}) (command.ShFunction name: atf_check_equal_eval_ok_head body: (BraceGroup children: [ (C {<atf_set>} {(DQ <descr>)} {(DQ <'Helper test case for the t_atf_check test program'>)}) ] ) ) (command.ShFunction name: atf_check_equal_eval_ok_body body: (BraceGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:x) op: assign_op.Equal rhs: {<a>} spids: [553] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:y) op: assign_op.Equal rhs: {<a>} spids: [557] ) ] ) (C {<atf_check_equal>} {(SQ <'${x}'>)} {(SQ <'${y}'>)}) ] ) ) (C {<atf_test_case>} {<atf_check_equal_eval_fail>}) (command.ShFunction name: atf_check_equal_eval_fail_head body: (BraceGroup children: [ (C {<atf_set>} {(DQ <descr>)} {(DQ <'Helper test case for the t_atf_check test program'>)}) ] ) ) (command.ShFunction name: atf_check_equal_eval_fail_body body: (BraceGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:x) op: assign_op.Equal rhs: {<a>} spids: [604] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:y) op: assign_op.Equal rhs: {<b>} spids: [608] ) ] ) (C {<atf_check_equal>} {(SQ <'${x}'>)} {(SQ <'${y}'>)}) ] ) ) (C {<atf_test_case>} {<atf_check_flush_stdout>}) (command.ShFunction name: atf_check_flush_stdout_head body: (BraceGroup children: [ (C {<atf_set>} {(DQ <descr>)} {(DQ <'Helper test case for the t_atf_check test program'>)}) (C {<atf_set>} {(DQ <timeout>)} {(DQ <30>)}) ] ) ) (command.ShFunction name: atf_check_flush_stdout_body body: (BraceGroup children: [ (C {<atf_check>} {<true>}) (C {<atf_check>} {<-s>} {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <1>} {<false>}) (C {<touch>} { (DQ (braced_var_sub token: <Id.VSub_Name CONTROL_FILE> suffix_op: (suffix_op.Unary op_id:Id.VTest_ColonHyphen arg_word:{<done>}) ) ) } ) (command.WhileUntil keyword: <Id.KW_While while> cond: [(command.Sentence child:(C {<Id.Lit_Colon ':'>}) terminator:<Id.Op_Semi _>)] body: (command.DoGroup children:[(C {<sleep>} {<1>})]) ) ] ) ) (C {<atf_test_case>} {<config_get>}) (command.ShFunction name: config_get_head body: (BraceGroup children: [ (C {<atf_set>} {(DQ <descr>)} {(DQ <'Helper test case for the t_config test program'>)}) ] ) ) (command.ShFunction name: config_get_body body: (BraceGroup children: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {<atf_config_has>} {(${ Id.VSub_Name TEST_VARIABLE)}) terminator: <Id.Op_Semi _> ) ] action: [ (C {<echo>} { (DQ (${ Id.VSub_Name TEST_VARIABLE) <' = '> (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<atf_config_get>} {(${ Id.VSub_Name TEST_VARIABLE)}) ) ) } ) ] spids: [751 760] ) ] ) ] ) ) (C {<atf_test_case>} {<config_has>}) (command.ShFunction name: config_has_head body: (BraceGroup children: [ (C {<atf_set>} {(DQ <descr>)} {(DQ <'Helper test case for the t_config test program'>)}) ] ) ) (command.ShFunction name: config_has_body body: (BraceGroup children: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {<atf_config_has>} {(${ Id.VSub_Name TEST_VARIABLE)}) terminator: <Id.Op_Semi _> ) ] action: [(C {<echo>} {(DQ (${ Id.VSub_Name TEST_VARIABLE) <' found'>)})] spids: [815 824] ) ] else_action: [(C {<echo>} {(DQ (${ Id.VSub_Name TEST_VARIABLE) <' not found'>)})] ) ] ) ) (C {<atf_test_case>} {<normalize>}) (command.ShFunction name: normalize_head body: (BraceGroup children: [ (C {<atf_set>} {(DQ <descr>)} {(DQ <'Helper test case for the t_normalize test program'>)}) (C {<atf_set>} {(DQ <a.b>)} {(DQ <'test value 1'>)}) (C {<atf_set>} {(DQ <c-d>)} {(DQ <'test value 2'>)}) ] ) ) (command.ShFunction name: normalize_body body: (BraceGroup children: [ (C {<echo>} { (DQ <'a.b: '> (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<atf_get>} {<a.b>}) ) ) } ) (C {<echo>} { (DQ <'c-d: '> (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<atf_get>} {<c-d>}) ) ) } ) ] ) ) (C {<atf_test_case>} {<tc_pass_true>}) (command.ShFunction name: tc_pass_true_head body: (BraceGroup children: [ (C {<atf_set>} {(DQ <descr>)} {(DQ <'Helper test case for the t_tc test program'>)}) ] ) ) (command.ShFunction name:tc_pass_true_body body:(BraceGroup children:[(C {<true>})])) (C {<atf_test_case>} {<tc_pass_false>}) (command.ShFunction name: tc_pass_false_head body: (BraceGroup children: [ (C {<atf_set>} {(DQ <descr>)} {(DQ <'Helper test case for the t_tc test program'>)}) ] ) ) (command.ShFunction name:tc_pass_false_body body:(BraceGroup children:[(C {<false>})])) (C {<atf_test_case>} {<tc_pass_return_error>}) (command.ShFunction name: tc_pass_return_error_head body: (BraceGroup children: [ (C {<atf_set>} {(DQ <descr>)} {(DQ <'Helper test case for the t_tc test program'>)}) ] ) ) (command.ShFunction name: tc_pass_return_error_body body: (BraceGroup children: [(command.ControlFlow token:<Id.ControlFlow_Return return> arg_word:{<1>})] ) ) (C {<atf_test_case>} {<tc_fail>}) (command.ShFunction name: tc_fail_head body: (BraceGroup children: [ (C {<atf_set>} {(DQ <descr>)} {(DQ <'Helper test case for the t_tc test program'>)}) ] ) ) (command.ShFunction name: tc_fail_body body: (BraceGroup children: [ (command.Simple words: [{<echo>} {(DQ <'An error'>)}] redirects: [(redir op:<Id.Redir_GreatAnd '1>&'> loc:(redir_loc.Fd fd:1) arg:{<2>})] do_fork: T ) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] ) ) (C {<atf_test_case>} {<tc_missing_body>}) (command.ShFunction name: tc_missing_body_head body: (BraceGroup children: [ (C {<atf_set>} {(DQ <descr>)} {(DQ <'Helper test case for the t_tc test program'>)}) ] ) ) (C {<atf_test_case>} {<tp_srcdir>}) (command.ShFunction name: tp_srcdir_head body: (BraceGroup children: [ (C {<atf_set>} {(DQ <descr>)} {(DQ <'Helper test case for the t_tp test program'>)}) ] ) ) (command.ShFunction name: tp_srcdir_body body: (BraceGroup children: [ (C {<echo>} {(DQ <'Calling helper'>)}) (command.AndOr ops: [Id.Op_DPipe] children: [(C {<helper_subr>}) (C {<atf_fail>} {(DQ <'Could not call helper subroutine'>)})] ) ] ) ) (command.ShFunction name: atf_init_test_cases body: (BraceGroup children: [ (C {<atf_add_test_case>} {<atf_check_info_ok>}) (C {<atf_add_test_case>} {<atf_check_info_fail>}) (C {<atf_add_test_case>} {<atf_check_expout_mismatch>}) (C {<atf_add_test_case>} {<atf_check_experr_mismatch>}) (C {<atf_add_test_case>} {<atf_check_null_stdout>}) (C {<atf_add_test_case>} {<atf_check_null_stderr>}) (C {<atf_add_test_case>} {<atf_check_equal_ok>}) (C {<atf_add_test_case>} {<atf_check_equal_fail>}) (C {<atf_add_test_case>} {<atf_check_equal_eval_ok>}) (C {<atf_add_test_case>} {<atf_check_equal_eval_fail>}) (C {<atf_add_test_case>} {<atf_check_flush_stdout>}) (C {<atf_add_test_case>} {<config_get>}) (C {<atf_add_test_case>} {<config_has>}) (C {<atf_add_test_case>} {<normalize>}) (C {<atf_add_test_case>} {<tc_pass_true>}) (C {<atf_add_test_case>} {<tc_pass_false>}) (C {<atf_add_test_case>} {<tc_pass_return_error>}) (C {<atf_add_test_case>} {<tc_fail>}) (C {<atf_add_test_case>} {<tc_missing_body>}) (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<Id.Lit_LBracket '['>} {<-f>} {(command_sub left_token:<Id.Left_DollarParen '$('> child:(C {<atf_get_srcdir>})) <'/subrs'> } {<Id.Lit_RBracket ']'>} ) (C {<.>} {(command_sub left_token:<Id.Left_DollarParen '$('> child:(C {<atf_get_srcdir>})) <'/subrs'> } ) ] ) (C {<atf_add_test_case>} {<tp_srcdir>}) ] ) ) ] )