(CommandList children: [ (C {(set)} {(-e)}) (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)}) (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)}) (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)}) (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_id: Redir_Great fd: 16777215 arg_word: {(${ VSub_Name testout) (1)} spids: [159] ) ] ) (AndOr ops: [Op_DPipe] children: [ (Pipeline children: [ (SimpleCommand words: [{(cat)}] redirects: [ (HereDoc op_id: Redir_DLess fd: 16777215 body: {('wordexp returned 0\n') ('we_wordv[0] = "$*"\n')} do_expansion: False here_end: EOF was_filled: T spids: [168] ) ] ) (SimpleCommand words: [{(cmp)} {(-)} {(${ VSub_Name testout) (1)}] redirects: [ (Redir op_id: Redir_DGreat fd: 16777215 arg_word: {($ VSub_Name '$logfile')} spids: [184] ) ] ) ] 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:[214])] spids: [214] ) ] spids: [16777215 204] ) ] spids: [16777215 217] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:failed) op:Equal rhs:{(0)} spids:[220])] spids: [220] ) (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_id: Redir_Great fd: 16777215 arg_word: {(${ VSub_Name testout) (2)} spids: [253] ) ] ) (AndOr ops: [Op_DPipe] children: [ (Pipeline children: [ (SimpleCommand words: [{(cat)}] redirects: [ (HereDoc op_id: Redir_DLess fd: 16777215 body: {('wordexp returned 0\n') ('we_wordv[0] = "${*}"\n') ('we_wordv[1] = "unquoted"\n') } do_expansion: False here_end: EOF was_filled: T spids: [262] ) ] ) (SimpleCommand words: [{(cmp)} {(-)} {(${ VSub_Name testout) (2)}] redirects: [ (Redir op_id: Redir_DGreat fd: 16777215 arg_word: {($ VSub_Name '$logfile')} spids: [278] ) ] ) ] negated: F ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:failed) op:Equal rhs:{(1)} spids:[284])] spids: [284] ) ] ) (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:[308])] spids: [308] ) ] spids: [16777215 298] ) ] spids: [16777215 311] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:failed) op:Equal rhs:{(0)} spids:[314])] spids: [314] ) (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_id: Redir_Great fd: 16777215 arg_word: {(${ VSub_Name testout) (3)} spids: [347] ) ] ) (AndOr ops: [Op_DPipe] children: [ (Pipeline children: [ (SimpleCommand words: [{(cat)}] redirects: [ (HereDoc op_id: Redir_DLess fd: 16777215 body: {('wordexp returned 0\n') ('we_wordv[0] = "$@"\n') ('we_wordv[1] = "unquoted"\n')} do_expansion: False here_end: EOF was_filled: T spids: [356] ) ] ) (SimpleCommand words: [{(cmp)} {(-)} {(${ VSub_Name testout) (3)}] redirects: [ (Redir op_id: Redir_DGreat fd: 16777215 arg_word: {($ VSub_Name '$logfile')} spids: [372] ) ] ) ] negated: F ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:failed) op:Equal rhs:{(1)} spids:[378])] spids: [378] ) ] ) (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:[402])] spids: [402] ) ] spids: [16777215 392] ) ] spids: [16777215 405] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:failed) op:Equal rhs:{(0)} spids:[408])] spids: [408] ) (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_id: Redir_Great fd: 16777215 arg_word: {(${ VSub_Name testout) (4)} spids: [441] ) ] ) (AndOr ops: [Op_DPipe] children: [ (Pipeline children: [ (SimpleCommand words: [{(cat)}] redirects: [ (HereDoc op_id: Redir_DLess fd: 16777215 body: {('wordexp returned 0\n') ('we_wordv[0] = ""$* quoted" param quoted"\n')} do_expansion: False here_end: EOF was_filled: T spids: [450] ) ] ) (SimpleCommand words: [{(cmp)} {(-)} {(${ VSub_Name testout) (4)}] redirects: [ (Redir op_id: Redir_DGreat fd: 16777215 arg_word: {($ VSub_Name '$logfile')} spids: [466] ) ] ) ] negated: F ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:failed) op:Equal rhs:{(1)} spids:[472])] spids: [472] ) ] ) (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:[496])] spids: [496] ) ] spids: [16777215 486] ) ] spids: [16777215 499] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:failed) op:Equal rhs:{(0)} spids:[502])] spids: [502] ) (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_id: Redir_Great fd: 16777215 arg_word: {(${ VSub_Name testout) (5)} spids: [535] ) ] ) (AndOr ops: [Op_DPipe] children: [ (Pipeline children: [ (SimpleCommand words: [{(cat)}] redirects: [ (HereDoc op_id: Redir_DLess fd: 16777215 body: {('wordexp returned 0\n') ('we_wordv[0] = ""$@ quoted""\n') ('we_wordv[1] = "param quoted"\n') } do_expansion: False here_end: EOF was_filled: T spids: [544] ) ] ) (SimpleCommand words: [{(cmp)} {(-)} {(${ VSub_Name testout) (5)}] redirects: [ (Redir op_id: Redir_DGreat fd: 16777215 arg_word: {($ VSub_Name '$logfile')} spids: [560] ) ] ) ] negated: F ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:failed) op:Equal rhs:{(1)} spids:[566])] spids: [566] ) ] ) (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:[590])] spids: [590] ) ] spids: [16777215 580] ) ] spids: [16777215 593] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:failed) op:Equal rhs:{(0)} spids:[599])] spids: [599] ) (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_id: Redir_Great fd: 16777215 arg_word: {(${ VSub_Name testout) (6)} spids: [638] ) ] ) (AndOr ops: [Op_DPipe] children: [ (Pipeline children: [ (SimpleCommand words: [{(cat)}] redirects: [ (HereDoc op_id: Redir_DLess fd: 16777215 body: {('wordexp returned 0\n') ('we_wordv[0] = "5"\n')} do_expansion: False here_end: EOF was_filled: T spids: [647] ) ] ) (SimpleCommand words: [{(cmp)} {(-)} {(${ VSub_Name testout) (6)}] redirects: [ (Redir op_id: Redir_DGreat fd: 16777215 arg_word: {($ VSub_Name '$logfile')} spids: [663] ) ] ) ] negated: F ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:failed) op:Equal rhs:{(1)} spids:[669])] spids: [669] ) ] ) (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:[693])] spids: [693] ) ] spids: [16777215 683] ) ] spids: [16777215 696] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:failed) op:Equal rhs:{(0)} spids:[699])] spids: [699] ) (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_id: Redir_Great fd: 16777215 arg_word: {(${ VSub_Name testout) (7)} spids: [738] ) ] ) (AndOr ops: [Op_DPipe] children: [ (Pipeline children: [ (SimpleCommand words: [{(cat)}] redirects: [ (HereDoc op_id: Redir_DLess fd: 16777215 body: {('wordexp returned 0\n') ('we_wordv[0] = "2nd"\n') ('we_wordv[1] = "3rd"\n') ('we_wordv[2] = "4"\n') ('we_wordv[3] = "th"\n') } do_expansion: False here_end: EOF was_filled: T spids: [747] ) ] ) (SimpleCommand words: [{(cmp)} {(-)} {(${ VSub_Name testout) (7)}] redirects: [ (Redir op_id: Redir_DGreat fd: 16777215 arg_word: {($ VSub_Name '$logfile')} spids: [763] ) ] ) ] negated: F ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:failed) op:Equal rhs:{(1)} spids:[769])] spids: [769] ) ] ) (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:[793])] spids: [793] ) ] spids: [16777215 783] ) ] spids: [16777215 796] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:failed) op:Equal rhs:{(0)} spids:[799])] spids: [799] ) (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_id: Redir_Great fd: 16777215 arg_word: {(${ VSub_Name testout) (8)} spids: [850] ) ] ) (AndOr ops: [Op_DPipe] children: [ (Pipeline children: [ (SimpleCommand words: [{(cat)}] redirects: [ (HereDoc op_id: Redir_DLess fd: 16777215 body: {('wordexp returned 0\n') ('we_wordv[0] = "11"\n')} do_expansion: False here_end: EOF was_filled: T spids: [859] ) ] ) (SimpleCommand words: [{(cmp)} {(-)} {(${ VSub_Name testout) (8)}] redirects: [ (Redir op_id: Redir_DGreat fd: 16777215 arg_word: {($ VSub_Name '$logfile')} spids: [875] ) ] ) ] negated: F ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:failed) op:Equal rhs:{(1)} spids:[881])] spids: [881] ) ] ) (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:[905])] spids: [905] ) ] spids: [16777215 895] ) ] spids: [16777215 908] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:failed) op:Equal rhs:{(0)} spids:[911])] spids: [911] ) (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_id: Redir_Great fd: 16777215 arg_word: {(${ VSub_Name testout) (9)} spids: [946] ) ] ) (AndOr ops: [Op_DPipe] children: [ (Pipeline children: [ (SimpleCommand words: [{(cat)}] redirects: [ (HereDoc op_id: Redir_DLess fd: 16777215 body: {('wordexp returned 0\n') ('we_wordv[0] = "a "a $@ b""\n') ('we_wordv[1] = "c"\n') ('we_wordv[2] = "d b"\n') } do_expansion: False here_end: EOF was_filled: T spids: [955] ) ] ) (SimpleCommand words: [{(cmp)} {(-)} {(${ VSub_Name testout) (9)}] redirects: [ (Redir op_id: Redir_DGreat fd: 16777215 arg_word: {($ VSub_Name '$logfile')} spids: [971] ) ] ) ] negated: F ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:failed) op:Equal rhs:{(1)} spids:[977])] spids: [977] ) ] ) (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:[1001])] spids: [1001] ) ] spids: [16777215 991] ) ] spids: [16777215 1004] ) (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_id: Redir_Great fd: 16777215 arg_word: {(${ VSub_Name testout) (10)} spids: [1041] ) ] ) (AndOr ops: [Op_DPipe] children: [ (Pipeline children: [ (SimpleCommand words: [{(cat)}] redirects: [ (HereDoc op_id: Redir_DLess fd: 16777215 body: {('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') } do_expansion: False here_end: EOF was_filled: T spids: [1050] ) ] ) (C {(cmp)} {(-)} {(${ VSub_Name testout) (10)}) ] negated: F ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:failed) op:Equal rhs:{(1)} spids:[1068])] spids: [1068] ) ] ) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{($ VSub_Name '$result')}) ] )