(command.CommandList children: [ (command.Simple blame_tok: <Id.Lit_Colon ':'> more_env: [] words: [ {<Id.Lit_Colon ':'>} { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name TEST_SH> var_name: TEST_SH suffix_op: (suffix_op.Unary op:<Id.VTest_ColonEquals _> arg_word:{(DQ <'/bin/sh'>)}) right: <Id.Right_DollarBrace '}'> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_test_case> more_env: [] words: [{<atf_test_case>} {<evaltested>}] redirects: [] do_fork: T ) (command.ShFunction name_tok: <evaltested_head> name: evaltested_head body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <atf_set> more_env: [] words: [ {<atf_set>} {(DQ <descr>)} {(DQ <'Tests that eval in a tested context does not exit'>)} ] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <evaltested_body> name: evaltested_body body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <set> more_env: [] words: [{<set>} {<-e>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <cat> more_env: [] words: [{<cat>}] redirects: [ (Redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<helper.sh>} ) (Redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<EOF>} here_end_tok: <Id.Undefined_Tok ''> stdin_parts: [ <'set -e\n'> <'if eval false\n'> <'then\n'> <'\techo '> <Id.Right_DoubleQuote '"'> <'\'eval false\' returned true'> <Id.Right_DoubleQuote '"'> <'\n'> <'\texit 1\n'> <'fi\n'> <'echo '> <Id.Right_DoubleQuote '"'> <passed> <Id.Right_DoubleQuote '"'> <'\n'> <'exit 0\n'> ] ) ) ] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'output='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'output='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'output='> name:output) op: assign_op.Equal rhs: { (DQ (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Simple blame_tok: <Id.VSub_DollarName '$TEST_SH'> more_env: [] words: [{($ Id.VSub_DollarName TEST_SH)} {<helper.sh>}] redirects: [] do_fork: T ) right: <Id.Eof_RParen _> ) ) } ) ] redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {($ Id.VSub_QMark '?')} {<Id.Lit_Equals '='>} {<0>} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) (command.ControlFlow keyword:<Id.ControlFlow_Return return>) ] ops: [<Id.Op_DAmp _>] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {<-n>} {(DQ ($ Id.VSub_DollarName output))} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <atf_fail> more_env: [] words: [{<atf_fail>} {(DQ ($ Id.VSub_DollarName output))}] redirects: [] do_fork: T ) ] spids: [183 196] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <atf_fail> more_env: [] words: [{<atf_fail>} {(DQ <'\'eval false\' exited from a tested context'>)}] redirects: [] do_fork: T ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <atf_init_test_cases> name: atf_init_test_cases body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <atf_add_test_case> more_env: [] words: [{<atf_add_test_case>} {<evaltested>}] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) ] )