(command.CommandList children: [ (command.ShAssignment left: <Id.Lit_VarLike 'expectedF='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'expectedF='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'expectedF='> name:expectedF) op: assign_op.Equal rhs: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name TMPDIR> var_name: TMPDIR suffix_op: (suffix_op.Unary op: <Id.VTest_ColonHyphen _> arg_word: {<Id.Lit_Slash '/'> <tmp>} ) right: <Id.Right_DollarBrace '}'> ) <'/expected'> ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'returnF='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'returnF='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'returnF='> name:returnF) op: assign_op.Equal rhs: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name TMPDIR> var_name: TMPDIR suffix_op: (suffix_op.Unary op: <Id.VTest_ColonHyphen _> arg_word: {<Id.Lit_Slash '/'> <tmp>} ) right: <Id.Right_DollarBrace '}'> ) <'/return'> ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'stdoutF='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'stdoutF='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'stdoutF='> name:stdoutF) op: assign_op.Equal rhs: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name TMPDIR> var_name: TMPDIR suffix_op: (suffix_op.Unary op: <Id.VTest_ColonHyphen _> arg_word: {<Id.Lit_Slash '/'> <tmp>} ) right: <Id.Right_DollarBrace '}'> ) <'/STDOUT'> ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'stderrF='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'stderrF='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'stderrF='> name:stderrF) op: assign_op.Equal rhs: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name TMPDIR> var_name: TMPDIR suffix_op: (suffix_op.Unary op: <Id.VTest_ColonHyphen _> arg_word: {<Id.Lit_Slash '/'> <tmp>} ) right: <Id.Right_DollarBrace '}'> ) <'/STDERR'> ) } ) ] redirects: [] ) (command.Simple blame_tok: <.> more_env: [] words: [{<.>} {<'./shflags_test_helpers'>}] redirects: [] do_fork: T ) (command.ShFunction name_tok: <testHelp> name: testHelp body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <_testHelp> more_env: [] words: [{<_testHelp>} {(SQ <-h>)}] redirects: [] do_fork: T ) (command.AndOr children: [ (command.Simple blame_tok: <flags_getoptIsEnh> more_env: [] words: [{<flags_getoptIsEnh>}] redirects: [] do_fork: T ) (command.ControlFlow keyword:<Id.ControlFlow_Return return>) ] ops: [<Id.Op_DPipe _>] ) (command.Simple blame_tok: <_testHelp> more_env: [] words: [{<_testHelp>} {(SQ <--help>)}] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <_testHelp> name: _testHelp body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.ShAssignment left: <Id.Lit_VarLike 'flag='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'flag='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'flag='> name:flag) op: assign_op.Equal rhs: {($ Id.VSub_Number 1)} ) ] redirects: [] ) (command.Simple blame_tok: <th_clearReturn> more_env: [] words: [{<th_clearReturn>}] redirects: [] do_fork: T ) (command.Subshell left: <Id.Op_LParen _> child: (command.CommandList children: [ (command.Simple blame_tok: <FLAGS> more_env: [] words: [{<FLAGS>} {(DQ (${ Id.VSub_Name flag))}] redirects: [ (Redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {(DQ (${ Id.VSub_Name stdoutF))} ) (Redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {(DQ (${ Id.VSub_Name stderrF))} ) ] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {($ Id.VSub_QMark '?')}] redirects: [ (Redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {(DQ (${ Id.VSub_Name returnF))} ) ] do_fork: T ) ] ) right: <Id.Right_Subshell _> redirects: [] ) (command.Simple blame_tok: <assertFalse> more_env: [] words: [ {<assertFalse>} {(SQ <'short help request should have returned a false exit code.'>)} { (DQ (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Simple blame_tok: <th_queryReturn> more_env: [] words: [{<th_queryReturn>}] redirects: [] do_fork: T ) right: <Id.Eof_RParen _> ) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <grep> more_env: [] words: [{<grep>} {(SQ <'show this help'>)} {(DQ (${ Id.VSub_Name stderrF))}] redirects: [(Redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<'/dev/null'>})] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'grepped='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'grepped='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'grepped='> name:grepped) op: assign_op.Equal rhs: {($ Id.VSub_QMark '?')} ) ] redirects: [] ) (command.Simple blame_tok: <assertTrue> more_env: [] words: [ {<assertTrue>} {(SQ <'short request for help should have produced some help output.'>)} {(${ Id.VSub_Name grepped)} ] redirects: [] do_fork: T ) (command.AndOr children: [ (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {(${ Id.VSub_Name grepped)} {<-ne>} {(DQ (${ Id.VSub_Name FLAGS_TRUE))} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <th_showOutput> more_env: [] words: [{<th_showOutput>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.Subshell left: <Id.Op_LParen _> child: (command.CommandList children: [ (command.ShAssignment left: <Id.Lit_VarLike 'FLAGS_HELP='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'FLAGS_HELP='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'FLAGS_HELP='> name:FLAGS_HELP) op: assign_op.Equal rhs: {(SQ <'this is a test'>)} ) ] redirects: [] ) (command.Simple blame_tok: <FLAGS> more_env: [] words: [{<FLAGS>} {(DQ (${ Id.VSub_Name flag))}] redirects: [ (Redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {(DQ (${ Id.VSub_Name stdoutF))} ) (Redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {(DQ (${ Id.VSub_Name stderrF))} ) ] do_fork: T ) ] ) right: <Id.Right_Subshell _> redirects: [] ) (command.Simple blame_tok: <grep> more_env: [] words: [{<grep>} {(SQ <'this is a test'>)} {(DQ (${ Id.VSub_Name stderrF))}] redirects: [(Redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<'/dev/null'>})] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'grepped='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'grepped='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'grepped='> name:grepped) op: assign_op.Equal rhs: {($ Id.VSub_QMark '?')} ) ] redirects: [] ) (command.Simple blame_tok: <assertTrue> more_env: [] words: [ {<assertTrue>} {(SQ <'setting FLAGS_HELP did not produce expected result'>)} {(${ Id.VSub_Name grepped)} ] redirects: [] do_fork: T ) (command.AndOr children: [ (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {(${ Id.VSub_Name grepped)} {<-ne>} {(DQ (${ Id.VSub_Name FLAGS_TRUE))} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <th_showOutput> more_env: [] words: [{<th_showOutput>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.Subshell left: <Id.Op_LParen _> child: (command.CommandList children: [ (command.Simple blame_tok: <DEFINE_boolean> more_env: [] words: [ {<DEFINE_boolean>} {<b>} {<false>} {(DQ <'help string containing a \' char'>)} {<b>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <FLAGS> more_env: [] words: [{<FLAGS>} {(DQ (${ Id.VSub_Name flag))}] redirects: [ (Redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {(DQ (${ Id.VSub_Name stdoutF))} ) (Redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {(DQ (${ Id.VSub_Name stderrF))} ) ] do_fork: T ) ] ) right: <Id.Right_Subshell _> redirects: [] ) (command.Simple blame_tok: <grep> more_env: [] words: [ {<grep>} {(DQ <'help string containing a \' char'>)} {(DQ (${ Id.VSub_Name stderrF))} ] redirects: [(Redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<'/dev/null'>})] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'grepped='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'grepped='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'grepped='> name:grepped) op: assign_op.Equal rhs: {($ Id.VSub_QMark '?')} ) ] redirects: [] ) (command.Simple blame_tok: <assertTrue> more_env: [] words: [ {<assertTrue>} {(DQ <'help strings containing apostrophes don\'t work'>)} {(${ Id.VSub_Name grepped)} ] redirects: [] do_fork: T ) (command.AndOr children: [ (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {(${ Id.VSub_Name grepped)} {<-ne>} {(DQ (${ Id.VSub_Name FLAGS_TRUE))} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <th_showOutput> more_env: [] words: [{<th_showOutput>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <mock_flags_columns> name: mock_flags_columns body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {<80>}] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <_doDefines> name: _doDefines body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <DEFINE_boolean> more_env: [] words: [{<DEFINE_boolean>} {(SQ <force>)} {<false>} {(SQ )} {<f>}] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <testStandardHelpOutput> name: testStandardHelpOutput body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.AndOr children: [ (command.Simple blame_tok: <flags_getoptIsStd> more_env: [] words: [{<flags_getoptIsStd>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <startSkipping> more_env: [] words: [{<startSkipping>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DPipe _>] ) (command.Simple blame_tok: <_doDefines> more_env: [] words: [{<_doDefines>}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'help='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'help='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'help='> name:help) op: assign_op.Equal rhs: {(SQ <'USAGE: standard [flags] args'>)} ) ] redirects: [] ) (command.Simple blame_tok: <cat> more_env: [] words: [{<cat>}] redirects: [ (Redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {(DQ (${ Id.VSub_Name expectedF))} ) (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: [ (${ Id.VSub_Name help) <'\n'> <'flags:\n'> <' -f (default: false)\n'> <' -h show this help (default: false)\n'> ] ) ) ] do_fork: T ) (command.Subshell left: <Id.Op_LParen _> child: (command.CommandList children: [ (command.ShFunction name_tok: <_flags_columns> name: _flags_columns body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Sentence child: (command.Simple blame_tok: <mock_flags_columns> more_env: [] words: [{<mock_flags_columns>}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.Sentence child: (command.ShAssignment left: <Id.Lit_VarLike 'FLAGS_HELP='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'FLAGS_HELP='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'FLAGS_HELP='> name: FLAGS_HELP ) op: assign_op.Equal rhs: {(${ Id.VSub_Name help)} ) ] redirects: [] ) terminator: <Id.Op_Semi _> ) (command.Simple blame_tok: <FLAGS> more_env: [] words: [{<FLAGS>} {<-h>}] redirects: [ (Redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {(DQ (${ Id.VSub_Name stdoutF))} ) (Redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {(DQ (${ Id.VSub_Name stderrF))} ) ] do_fork: T ) ] ) right: <Id.Right_Subshell _> redirects: [] ) (command.Simple blame_tok: <diff> more_env: [] words: [{<diff>} {(DQ (${ Id.VSub_Name expectedF))} {(DQ (${ Id.VSub_Name stderrF))}] redirects: [(Redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<'/dev/null'>})] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'r3turn='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'r3turn='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'r3turn='> name:r3turn) op: assign_op.Equal rhs: {($ Id.VSub_QMark '?')} ) ] redirects: [] ) (command.Simple blame_tok: <assertTrue> more_env: [] words: [{<assertTrue>} {(SQ <'unexpected help output'>)} {(${ Id.VSub_Name r3turn)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <th_showOutput> more_env: [] words: [ {<th_showOutput>} {(${ Id.VSub_Name r3turn)} {(DQ (${ Id.VSub_Name stdoutF))} {(DQ (${ Id.VSub_Name stderrF))} ] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <testEnhancedHelpOutput> name: testEnhancedHelpOutput body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.AndOr children: [ (command.Simple blame_tok: <flags_getoptIsEnh> more_env: [] words: [{<flags_getoptIsEnh>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <startSkipping> more_env: [] words: [{<startSkipping>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DPipe _>] ) (command.Simple blame_tok: <_doDefines> more_env: [] words: [{<_doDefines>}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'help='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'help='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'help='> name:help) op: assign_op.Equal rhs: {(SQ <'USAGE: enhanced [flags] args'>)} ) ] redirects: [] ) (command.Simple blame_tok: <cat> more_env: [] words: [{<cat>}] redirects: [ (Redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {(DQ (${ Id.VSub_Name expectedF))} ) (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: [ (${ Id.VSub_Name help) <'\n'> <'flags:\n'> <' -f,--[no]force: (default: false)\n'> <' -h,--help: show this help (default: false)\n'> ] ) ) ] do_fork: T ) (command.Subshell left: <Id.Op_LParen _> child: (command.CommandList children: [ (command.ShFunction name_tok: <_flags_columns> name: _flags_columns body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Sentence child: (command.Simple blame_tok: <mock_flags_columns> more_env: [] words: [{<mock_flags_columns>}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.Sentence child: (command.ShAssignment left: <Id.Lit_VarLike 'FLAGS_HELP='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'FLAGS_HELP='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'FLAGS_HELP='> name: FLAGS_HELP ) op: assign_op.Equal rhs: {(${ Id.VSub_Name help)} ) ] redirects: [] ) terminator: <Id.Op_Semi _> ) (command.Simple blame_tok: <FLAGS> more_env: [] words: [{<FLAGS>} {<-h>}] redirects: [ (Redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {(DQ (${ Id.VSub_Name stdoutF))} ) (Redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {(DQ (${ Id.VSub_Name stderrF))} ) ] do_fork: T ) ] ) right: <Id.Right_Subshell _> redirects: [] ) (command.Simple blame_tok: <diff> more_env: [] words: [{<diff>} {(DQ (${ Id.VSub_Name expectedF))} {(DQ (${ Id.VSub_Name stderrF))}] redirects: [(Redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<'/dev/null'>})] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'differed='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'differed='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'differed='> name:differed) op: assign_op.Equal rhs: {($ Id.VSub_QMark '?')} ) ] redirects: [] ) (command.Simple blame_tok: <assertTrue> more_env: [] words: [{<assertTrue>} {(SQ <'unexpected help output'>)} {(${ Id.VSub_Name differed)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <th_showOutput> more_env: [] words: [ {<th_showOutput>} {(${ Id.VSub_Name differed)} {(DQ (${ Id.VSub_Name stdoutF))} {(DQ (${ Id.VSub_Name stderrF))} ] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <oneTimeSetUp> name: oneTimeSetUp body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <th_oneTimeSetUp> more_env: [] words: [{<th_oneTimeSetUp>}] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <flags_getoptIsStd> more_env: [] words: [{<flags_getoptIsStd>}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <th_warn> more_env: [] words: [ {<th_warn>} {(SQ <'Standard version of getopt found. Enhanced tests will be skipped.'>)} ] redirects: [] do_fork: T ) (command.ControlFlow keyword:<Id.ControlFlow_Return return>) ] spids: [797 802] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <th_warn> more_env: [] words: [ {<th_warn>} {(SQ <'Enhanced version of getopt found. Standard tests will be skipped.'>)} ] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <setUp> name: setUp body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <flags_reset> more_env: [] words: [{<flags_reset>}] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.AndOr children: [ (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {<-n>} { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name ZSH_VERSION> var_name: ZSH_VERSION suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty)) right: <Id.Right_DollarBrace '}'> ) ) } {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'SHUNIT_PARENT='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'SHUNIT_PARENT='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'SHUNIT_PARENT='> name:SHUNIT_PARENT) op: assign_op.Equal rhs: {($ Id.VSub_Number 0)} ) ] redirects: [] ) ] ops: [<Id.Op_DAmp _>] ) (command.Simple blame_tok: <.> more_env: [] words: [{<.>} {(DQ (${ Id.VSub_Name TH_SHUNIT))}] redirects: [] do_fork: T ) ] )