(CommandList children: [ (C {(set)} {(-e)}) (CommandList children: [ (Sentence child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:common_objpfx) op: Equal rhs: {($ VSub_Number '$1')} spids: [64] ) ] spids: [64] ) terminator: <Op_Semi ';'> ) (C {(shift)}) ] ) (CommandList children: [ (Sentence child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:test_program_prefix_before_env) op: Equal rhs: {($ VSub_Number '$1')} spids: [70] ) ] spids: [70] ) terminator: <Op_Semi ';'> ) (C {(shift)}) ] ) (CommandList children: [ (Sentence child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:run_program_env) op: Equal rhs: {($ VSub_Number '$1')} spids: [76] ) ] spids: [76] ) terminator: <Op_Semi ';'> ) (C {(shift)}) ] ) (CommandList children: [ (Sentence child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:test_program_prefix_after_env) op: Equal rhs: {($ VSub_Number '$1')} spids: [82] ) ] spids: [82] ) terminator: <Op_Semi ';'> ) (C {(shift)}) ] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:logfile) op: Equal rhs: {(${ VSub_Name common_objpfx) (posix/wordexp-tst.out)} spids: [88] ) ] spids: [88] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:testout) op: Equal rhs: {(${ VSub_Name common_objpfx) (posix/wordexp-test-result)} spids: [94] ) ] spids: [94] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:result) op:Equal rhs:{(0)} spids:[101])] spids: [101] ) (C {(rm)} {(-f)} {($ VSub_Name '$logfile')}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:IFS) op:Equal rhs:{(DQ (' \t') ('\n'))} spids:[116])] spids: [116] ) (C {(export)} {(IFS)}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:failed) op:Equal rhs:{(0)} spids:[128])] spids: [128] ) (SimpleCommand words: [ {(${ VSub_Name test_program_prefix_before_env)} {(${ VSub_Name run_program_env)} {(Lit_VarLike 'IFS=') (DQ ($ VSub_Name '$IFS'))} {(${ VSub_Name test_program_prefix_after_env)} {(${ VSub_Name common_objpfx) (posix/wordexp-test)} {(SQ <'$*'>)} ] redirects: [(Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(${ VSub_Name testout) (1)})] ) (AndOr ops: [Op_DPipe] children: [ (Pipeline children: [ (SimpleCommand words: [{(cat)}] redirects: [ (HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(DQ (EOF))} here_end_span_id: 195 stdin_parts: [('wordexp returned 0\n') ('we_wordv[0] = "$*"\n')] ) ] ) (SimpleCommand words: [{(cmp)} {(-)} {(${ VSub_Name testout) (1)}] redirects: [ (Redir op: <Redir_DGreat '>>'> fd: 16777215 arg_word: {($ VSub_Name '$logfile')} ) ] ) ] negated: F ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:failed) op:Equal rhs:{(1)} spids:[190])] spids: [190] ) ] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(test)} {($ VSub_Name '$failed')} {(-ne)} {(0)}) terminator: <Op_Semi ';'> ) ] action: [ (C {(echo)} {(SQ <'$* test failed'>)}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:status) op:Equal rhs:{(1)} spids:[217])] spids: [217] ) ] spids: [16777215 207] ) ] spids: [16777215 220] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:failed) op:Equal rhs:{(0)} spids:[223])] spids: [223] ) (SimpleCommand words: [ {(${ VSub_Name test_program_prefix_before_env)} {(${ VSub_Name run_program_env)} {(Lit_VarLike 'IFS=') (DQ ($ VSub_Name '$IFS'))} {(${ VSub_Name test_program_prefix_after_env)} {(${ VSub_Name common_objpfx) (posix/wordexp-test)} {(SQ <'${*}'>)} {(unquoted)} ] redirects: [(Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(${ VSub_Name testout) (2)})] ) (AndOr ops: [Op_DPipe] children: [ (Pipeline children: [ (SimpleCommand words: [{(cat)}] redirects: [ (HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(DQ (EOF))} here_end_span_id: 293 stdin_parts: [ ('wordexp returned 0\n') ('we_wordv[0] = "${*}"\n') ('we_wordv[1] = "unquoted"\n') ] ) ] ) (SimpleCommand words: [{(cmp)} {(-)} {(${ VSub_Name testout) (2)}] redirects: [ (Redir op: <Redir_DGreat '>>'> fd: 16777215 arg_word: {($ VSub_Name '$logfile')} ) ] ) ] negated: F ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:failed) op:Equal rhs:{(1)} spids:[287])] spids: [287] ) ] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(test)} {($ VSub_Name '$failed')} {(-ne)} {(0)}) terminator: <Op_Semi ';'> ) ] action: [ (C {(echo)} {(SQ <'${*} test failed'>)}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:status) op:Equal rhs:{(1)} spids:[315])] spids: [315] ) ] spids: [16777215 305] ) ] spids: [16777215 318] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:failed) op:Equal rhs:{(0)} spids:[321])] spids: [321] ) (SimpleCommand words: [ {(${ VSub_Name test_program_prefix_before_env)} {(${ VSub_Name run_program_env)} {(Lit_VarLike 'IFS=') (DQ ($ VSub_Name '$IFS'))} {(${ VSub_Name test_program_prefix_after_env)} {(${ VSub_Name common_objpfx) (posix/wordexp-test)} {(SQ <'$@'>)} {(unquoted)} ] redirects: [(Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(${ VSub_Name testout) (3)})] ) (AndOr ops: [Op_DPipe] children: [ (Pipeline children: [ (SimpleCommand words: [{(cat)}] redirects: [ (HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(DQ (EOF))} here_end_span_id: 391 stdin_parts: [ ('wordexp returned 0\n') ('we_wordv[0] = "$@"\n') ('we_wordv[1] = "unquoted"\n') ] ) ] ) (SimpleCommand words: [{(cmp)} {(-)} {(${ VSub_Name testout) (3)}] redirects: [ (Redir op: <Redir_DGreat '>>'> fd: 16777215 arg_word: {($ VSub_Name '$logfile')} ) ] ) ] negated: F ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:failed) op:Equal rhs:{(1)} spids:[385])] spids: [385] ) ] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(test)} {($ VSub_Name '$failed')} {(-ne)} {(0)}) terminator: <Op_Semi ';'> ) ] action: [ (C {(echo)} {(SQ <'$@ test failed'>)}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:status) op:Equal rhs:{(1)} spids:[413])] spids: [413] ) ] spids: [16777215 403] ) ] spids: [16777215 416] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:failed) op:Equal rhs:{(0)} spids:[419])] spids: [419] ) (SimpleCommand words: [ {(${ VSub_Name test_program_prefix_before_env)} {(${ VSub_Name run_program_env)} {(Lit_VarLike 'IFS=') (DQ ($ VSub_Name '$IFS'))} {(${ VSub_Name test_program_prefix_after_env)} {(${ VSub_Name common_objpfx) (posix/wordexp-test)} {(SQ <'"$* quoted"'>)} {(param)} ] redirects: [(Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(${ VSub_Name testout) (4)})] ) (AndOr ops: [Op_DPipe] children: [ (Pipeline children: [ (SimpleCommand words: [{(cat)}] redirects: [ (HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(DQ (EOF))} here_end_span_id: 488 stdin_parts: [ ('wordexp returned 0\n') ('we_wordv[0] = ""$* quoted" param quoted"\n') ] ) ] ) (SimpleCommand words: [{(cmp)} {(-)} {(${ VSub_Name testout) (4)}] redirects: [ (Redir op: <Redir_DGreat '>>'> fd: 16777215 arg_word: {($ VSub_Name '$logfile')} ) ] ) ] negated: F ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:failed) op:Equal rhs:{(1)} spids:[483])] spids: [483] ) ] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(test)} {($ VSub_Name '$failed')} {(-ne)} {(0)}) terminator: <Op_Semi ';'> ) ] action: [ (C {(echo)} {(SQ <'$* quoted test failed'>)}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:status) op:Equal rhs:{(1)} spids:[510])] spids: [510] ) ] spids: [16777215 500] ) ] spids: [16777215 513] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:failed) op:Equal rhs:{(0)} spids:[516])] spids: [516] ) (SimpleCommand words: [ {(${ VSub_Name test_program_prefix_before_env)} {(${ VSub_Name run_program_env)} {(Lit_VarLike 'IFS=') (DQ ($ VSub_Name '$IFS'))} {(${ VSub_Name test_program_prefix_after_env)} {(${ VSub_Name common_objpfx) (posix/wordexp-test)} {(SQ <'"$@ quoted"'>)} {(param)} ] redirects: [(Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(${ VSub_Name testout) (5)})] ) (AndOr ops: [Op_DPipe] children: [ (Pipeline children: [ (SimpleCommand words: [{(cat)}] redirects: [ (HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(DQ (EOF))} here_end_span_id: 586 stdin_parts: [ ('wordexp returned 0\n') ('we_wordv[0] = ""$@ quoted""\n') ('we_wordv[1] = "param quoted"\n') ] ) ] ) (SimpleCommand words: [{(cmp)} {(-)} {(${ VSub_Name testout) (5)}] redirects: [ (Redir op: <Redir_DGreat '>>'> fd: 16777215 arg_word: {($ VSub_Name '$logfile')} ) ] ) ] negated: F ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:failed) op:Equal rhs:{(1)} spids:[580])] spids: [580] ) ] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(test)} {($ VSub_Name '$failed')} {(-ne)} {(0)}) terminator: <Op_Semi ';'> ) ] action: [ (C {(echo)} {(SQ <'$@ quoted test failed'>)}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:status) op:Equal rhs:{(1)} spids:[608])] spids: [608] ) ] spids: [16777215 598] ) ] spids: [16777215 611] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:failed) op:Equal rhs:{(0)} spids:[617])] spids: [617] ) (SimpleCommand words: [ {(${ VSub_Name test_program_prefix_before_env)} {(${ VSub_Name run_program_env)} {(Lit_VarLike 'IFS=') (DQ ($ VSub_Name '$IFS'))} {(${ VSub_Name test_program_prefix_after_env)} {(${ VSub_Name common_objpfx) (posix/wordexp-test)} {(SQ <'$#'>)} {(2)} {(3)} {(4)} {(5)} ] redirects: [(Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(${ VSub_Name testout) (6)})] ) (AndOr ops: [Op_DPipe] children: [ (Pipeline children: [ (SimpleCommand words: [{(cat)}] redirects: [ (HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(DQ (EOF))} here_end_span_id: 692 stdin_parts: [('wordexp returned 0\n') ('we_wordv[0] = "5"\n')] ) ] ) (SimpleCommand words: [{(cmp)} {(-)} {(${ VSub_Name testout) (6)}] redirects: [ (Redir op: <Redir_DGreat '>>'> fd: 16777215 arg_word: {($ VSub_Name '$logfile')} ) ] ) ] negated: F ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:failed) op:Equal rhs:{(1)} spids:[687])] spids: [687] ) ] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(test)} {($ VSub_Name '$failed')} {(-ne)} {(0)}) terminator: <Op_Semi ';'> ) ] action: [ (C {(echo)} {(SQ <'$# test failed'>)}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:status) op:Equal rhs:{(1)} spids:[714])] spids: [714] ) ] spids: [16777215 704] ) ] spids: [16777215 717] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:failed) op:Equal rhs:{(0)} spids:[720])] spids: [720] ) (SimpleCommand words: [ {(${ VSub_Name test_program_prefix_before_env)} {(${ VSub_Name run_program_env)} {(Lit_VarLike 'IFS=') (DQ ($ VSub_Name '$IFS'))} {(${ VSub_Name test_program_prefix_after_env)} {(${ VSub_Name common_objpfx) (posix/wordexp-test)} {(SQ <'$2 ${3} $4'>)} {(2nd)} {(3rd)} {(DQ ('4 th'))} ] redirects: [(Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(${ VSub_Name testout) (7)})] ) (AndOr ops: [Op_DPipe] children: [ (Pipeline children: [ (SimpleCommand words: [{(cat)}] redirects: [ (HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(DQ (EOF))} here_end_span_id: 798 stdin_parts: [ ('wordexp returned 0\n') ('we_wordv[0] = "2nd"\n') ('we_wordv[1] = "3rd"\n') ('we_wordv[2] = "4"\n') ('we_wordv[3] = "th"\n') ] ) ] ) (SimpleCommand words: [{(cmp)} {(-)} {(${ VSub_Name testout) (7)}] redirects: [ (Redir op: <Redir_DGreat '>>'> fd: 16777215 arg_word: {($ VSub_Name '$logfile')} ) ] ) ] negated: F ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:failed) op:Equal rhs:{(1)} spids:[790])] spids: [790] ) ] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(test)} {($ VSub_Name '$failed')} {(-ne)} {(0)}) terminator: <Op_Semi ';'> ) ] action: [ (C {(echo)} {(SQ <'$2 ${3} $4 test failed'>)}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:status) op:Equal rhs:{(1)} spids:[820])] spids: [820] ) ] spids: [16777215 810] ) ] spids: [16777215 823] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:failed) op:Equal rhs:{(0)} spids:[826])] spids: [826] ) (SimpleCommand words: [ {(${ VSub_Name test_program_prefix_before_env)} {(${ VSub_Name run_program_env)} {(Lit_VarLike 'IFS=') (DQ ($ VSub_Name '$IFS'))} {(${ VSub_Name test_program_prefix_after_env)} {(${ VSub_Name common_objpfx) (posix/wordexp-test)} {(SQ <'${11}'>)} {(2)} {(3)} {(4)} {(5)} {(6)} {(7)} {(8)} {(9)} {(10)} {(11)} ] redirects: [(Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(${ VSub_Name testout) (8)})] ) (AndOr ops: [Op_DPipe] children: [ (Pipeline children: [ (SimpleCommand words: [{(cat)}] redirects: [ (HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(DQ (EOF))} here_end_span_id: 913 stdin_parts: [('wordexp returned 0\n') ('we_wordv[0] = "11"\n')] ) ] ) (SimpleCommand words: [{(cmp)} {(-)} {(${ VSub_Name testout) (8)}] redirects: [ (Redir op: <Redir_DGreat '>>'> fd: 16777215 arg_word: {($ VSub_Name '$logfile')} ) ] ) ] negated: F ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:failed) op:Equal rhs:{(1)} spids:[908])] spids: [908] ) ] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(test)} {($ VSub_Name '$failed')} {(-ne)} {(0)}) terminator: <Op_Semi ';'> ) ] action: [ (C {(echo)} {(SQ <'${11} test failed'>)}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:status) op:Equal rhs:{(1)} spids:[935])] spids: [935] ) ] spids: [16777215 925] ) ] spids: [16777215 938] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:failed) op:Equal rhs:{(0)} spids:[941])] spids: [941] ) (SimpleCommand words: [ {(${ VSub_Name test_program_prefix_before_env)} {(${ VSub_Name run_program_env)} {(Lit_VarLike 'IFS=') (DQ ($ VSub_Name '$IFS'))} {(${ VSub_Name test_program_prefix_after_env)} {(${ VSub_Name common_objpfx) (posix/wordexp-test)} {(SQ <'"a $@ b"'>)} {(c)} {(d)} ] redirects: [(Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(${ VSub_Name testout) (9)})] ) (AndOr ops: [Op_DPipe] children: [ (Pipeline children: [ (SimpleCommand words: [{(cat)}] redirects: [ (HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(DQ (EOF))} here_end_span_id: 1014 stdin_parts: [ ('wordexp returned 0\n') ('we_wordv[0] = "a "a $@ b""\n') ('we_wordv[1] = "c"\n') ('we_wordv[2] = "d b"\n') ] ) ] ) (SimpleCommand words: [{(cmp)} {(-)} {(${ VSub_Name testout) (9)}] redirects: [ (Redir op: <Redir_DGreat '>>'> fd: 16777215 arg_word: {($ VSub_Name '$logfile')} ) ] ) ] negated: F ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:failed) op:Equal rhs:{(1)} spids:[1007])] spids: [1007] ) ] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(test)} {($ VSub_Name '$failed')} {(-ne)} {(0)}) terminator: <Op_Semi ';'> ) ] action: [ (C {(echo)} {(SQ <'"a $@ b" test failed'>)}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:status) op:Equal rhs:{(1)} spids:[1036])] spids: [1036] ) ] spids: [16777215 1026] ) ] spids: [16777215 1039] ) (SimpleCommand words: [ {(${ VSub_Name test_program_prefix_before_env)} {(${ VSub_Name run_program_env)} {(Lit_VarLike 'IFS=') (DQ ($ VSub_Name '$IFS'))} {(${ VSub_Name test_program_prefix_after_env)} {(${ VSub_Name common_objpfx) (posix/wordexp-test)} {(SQ <'${#@} ${#2} *$**'>)} {(two)} {(3)} {(4)} ] redirects: [(Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(${ VSub_Name testout) (10)})] ) (AndOr ops: [Op_DPipe] children: [ (Pipeline children: [ (SimpleCommand words: [{(cat)}] redirects: [ (HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(DQ (EOF))} here_end_span_id: 1115 stdin_parts: [ ('wordexp returned 0\n') ('we_wordv[0] = "4"\n') ('we_wordv[1] = "3"\n') ('we_wordv[2] = "*${#@}"\n') ('we_wordv[3] = "${#2}"\n') ('we_wordv[4] = "*$**"\n') ('we_wordv[5] = "two"\n') ('we_wordv[6] = "3"\n') ('we_wordv[7] = "4*"\n') ] ) ] ) (C {(cmp)} {(-)} {(${ VSub_Name testout) (10)}) ] negated: F ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:failed) op:Equal rhs:{(1)} spids:[1103])] spids: [1103] ) ] ) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{($ VSub_Name '$result')}) ] )