(CommandList children: [ (Sentence child: (C {(.)} { (DQ (BracedVarSub token: <VSub_Name srcdir> suffix_op: (StringUnary op_id:VTest_Equals arg_word:{(.)}) spids: [48 52] ) (/tests/init.sh) ) } ) terminator: <Op_Semi ';'> ) (C {(path_prepend_)} {(./src)}) (C {(print_ver_)} {(env)}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:a) op:Equal rhs:{(1)} spids:[70])] spids: [70] ) (C {(export)} {(a)}) (AndOr ops: [Op_DPipe] children: [ (SimpleCommand words: [{(env)} {(-)}] redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(out)} spids:[81])] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[87])] spids: [87] ) ] ) (AndOr ops: [Op_DAmp] children: [ (C {(test)} {(-s)} {(out)}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[98])] spids: [98] ) ] ) (AndOr ops: [Op_DPipe] children: [ (SimpleCommand words: [{(env)} {(-i)}] redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(out)} spids:[105])] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[111])] spids: [111] ) ] ) (AndOr ops: [Op_DAmp] children: [ (C {(test)} {(-s)} {(out)}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[122])] spids: [122] ) ] ) (AndOr ops: [Op_DPipe] children: [ (SimpleCommand words: [{(env)} {(-u)} {(a)} {(-i)} {(-u)} {(a)} {(--)}] redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(out)} spids:[139])] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[145])] spids: [145] ) ] ) (AndOr ops: [Op_DAmp] children: [ (C {(test)} {(-s)} {(out)}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[156])] spids: [156] ) ] ) (AndOr ops: [Op_DPipe] children: [ (SimpleCommand words: [{(env)} {(-i)} {(--)} {(Lit_VarLike 'a=') (b)}] redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(out)} spids:[168])] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[174])] spids: [174] ) ] ) (AndOr ops: [Op_DPipe] children: [ (SimpleCommand words: [{(echo)} {(Lit_VarLike 'a=') (b)}] redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(exp)} spids:[182])] ) (C {(framework_failure_)}) ] ) (AndOr ops: [Op_DPipe] children: [ (C {(compare)} {(exp)} {(out)}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[198])] spids: [198] ) ] ) (C {(env)} {(---)}) (AndOr ops: [Op_DPipe] children: [ (C {(test)} {($ VSub_QMark '$?')} {(Lit_Other '=')} {(125)}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[222])] spids: [222] ) ] ) (C {(env)} {(-u)}) (AndOr ops: [Op_DPipe] children: [ (C {(test)} {($ VSub_QMark '$?')} {(Lit_Other '=')} {(125)}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[242])] spids: [242] ) ] ) (C {(env)} {(sh)} {(-c)} {(SQ <'exit 2'>)}) (AndOr ops: [Op_DPipe] children: [ (C {(test)} {($ VSub_QMark '$?')} {(Lit_Other '=')} {(2)}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(2)} spids:[268])] spids: [268] ) ] ) (C {(env)} {(.)}) (AndOr ops: [Op_DPipe] children: [ (C {(test)} {($ VSub_QMark '$?')} {(Lit_Other '=')} {(126)}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[288])] spids: [288] ) ] ) (C {(env)} {(no_such)}) (AndOr ops: [Op_DPipe] children: [ (C {(test)} {($ VSub_QMark '$?')} {(Lit_Other '=')} {(127)}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[308])] spids: [308] ) ] ) (If arms: [ (if_arm cond: [ (Sentence child: (Pipeline children: [ (C {(env)}) (SimpleCommand words: [{(grep)} {(SQ <'^ENV_TEST'>)}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(/dev/null)} spids: [354] ) ] ) ] negated: F ) terminator: <Op_Semi ';'> ) ] action: [(C {(skip_)} {(DQ ('environment has potential interference from ENV_TEST*'))})] spids: [16777215 359] ) ] spids: [16777215 368] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:ENV_TEST1) op:Equal rhs:{(a)} spids:[371])] spids: [371] ) (C {(export)} {(ENV_TEST1)}) (AndOr ops: [Op_DPipe] children: [ (SimpleCommand words: [{(Lit_Other ':')}] redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(out)} spids:[380])] ) (C {(framework_failure_)}) ] ) (AndOr ops: [Op_DPipe] children: [ (SimpleCommand words: [{(env)} {(Lit_VarLike 'ENV_TEST2=')}] redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(all)} spids:[391])] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[397])] spids: [397] ) ] ) (AndOr ops: [Op_DPipe] children: [ (Pipeline children: [ (C {(grep)} {(SQ <'^ENV_TEST'>)} {(all)}) (SimpleCommand words: [{(sort)}] redirects: [(Redir op_id:Redir_DGreat fd:16777215 arg_word:{(out)} spids:[415])] more_env: [(env_pair name:LC_ALL val:{(C)} spids:[410])] ) ] negated: F ) (C {(framework_failure_)}) ] ) (AndOr ops: [Op_DPipe] children: [ (SimpleCommand words: [{(env)} {(-u)} {(ENV_TEST1)} {(Lit_VarLike 'ENV_TEST3=') (c)}] redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(all)} spids:[432])] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[438])] spids: [438] ) ] ) (AndOr ops: [Op_DPipe] children: [ (Pipeline children: [ (C {(grep)} {(SQ <'^ENV_TEST'>)} {(all)}) (SimpleCommand words: [{(sort)}] redirects: [(Redir op_id:Redir_DGreat fd:16777215 arg_word:{(out)} spids:[456])] more_env: [(env_pair name:LC_ALL val:{(C)} spids:[451])] ) ] negated: F ) (C {(framework_failure_)}) ] ) (AndOr ops: [Op_DPipe] children: [ (SimpleCommand words: [{(env)} {(Lit_VarLike 'ENV_TEST1=') (b)}] redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(all)} spids:[469])] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[475])] spids: [475] ) ] ) (AndOr ops: [Op_DPipe] children: [ (Pipeline children: [ (C {(grep)} {(SQ <'^ENV_TEST'>)} {(all)}) (SimpleCommand words: [{(sort)}] redirects: [(Redir op_id:Redir_DGreat fd:16777215 arg_word:{(out)} spids:[493])] more_env: [(env_pair name:LC_ALL val:{(C)} spids:[488])] ) ] negated: F ) (C {(framework_failure_)}) ] ) (AndOr ops: [Op_DPipe] children: [ (SimpleCommand words: [{(env)} {(Lit_VarLike 'ENV_TEST2=')} {(env)}] redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(all)} spids:[507])] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[513])] spids: [513] ) ] ) (AndOr ops: [Op_DPipe] children: [ (Pipeline children: [ (C {(grep)} {(SQ <'^ENV_TEST'>)} {(all)}) (SimpleCommand words: [{(sort)}] redirects: [(Redir op_id:Redir_DGreat fd:16777215 arg_word:{(out)} spids:[531])] more_env: [(env_pair name:LC_ALL val:{(C)} spids:[526])] ) ] negated: F ) (C {(framework_failure_)}) ] ) (AndOr ops: [Op_DPipe] children: [ (SimpleCommand words: [{(env)} {(-u)} {(ENV_TEST1)} {(Lit_VarLike 'ENV_TEST3=') (c)} {(env)}] redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(all)} spids:[550])] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[556])] spids: [556] ) ] ) (AndOr ops: [Op_DPipe] children: [ (Pipeline children: [ (C {(grep)} {(SQ <'^ENV_TEST'>)} {(all)}) (SimpleCommand words: [{(sort)}] redirects: [(Redir op_id:Redir_DGreat fd:16777215 arg_word:{(out)} spids:[574])] more_env: [(env_pair name:LC_ALL val:{(C)} spids:[569])] ) ] negated: F ) (C {(framework_failure_)}) ] ) (AndOr ops: [Op_DPipe] children: [ (SimpleCommand words: [{(env)} {(Lit_VarLike 'ENV_TEST1=') (b)} {(env)}] redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(all)} spids:[589])] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[595])] spids: [595] ) ] ) (AndOr ops: [Op_DPipe] children: [ (Pipeline children: [ (C {(grep)} {(SQ <'^ENV_TEST'>)} {(all)}) (SimpleCommand words: [{(sort)}] redirects: [(Redir op_id:Redir_DGreat fd:16777215 arg_word:{(out)} spids:[613])] more_env: [(env_pair name:LC_ALL val:{(C)} spids:[608])] ) ] negated: F ) (C {(framework_failure_)}) ] ) (AndOr ops: [Op_DPipe] children: [ (SimpleCommand words: [{(cat)}] redirects: [ (HereDoc op_id: Redir_DLess fd: 16777215 body: { (DQ ('ENV_TEST1=a\n') ('ENV_TEST2=\n') ('ENV_TEST3=c\n') ('ENV_TEST1=b\n') ('ENV_TEST1=a\n') ('ENV_TEST2=\n') ('ENV_TEST3=c\n') ('ENV_TEST1=b\n') ) } do_expansion: True here_end: EOF was_filled: T spids: [623] ) (Redir op_id:Redir_Great fd:16777215 arg_word:{(exp)} spids:[626]) ] ) (C {(framework_failure_)}) ] ) (AndOr ops: [Op_DPipe] children: [ (C {(compare)} {(exp)} {(out)}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[650])] spids: [650] ) ] ) (AndOr ops:[Op_DPipe] children:[(C {(mkdir)} {(unlikely_name)}) (C {(framework_failure_)})]) (AndOr ops: [Op_DPipe] children: [ (SimpleCommand words: [{(cat)}] redirects: [ (HereDoc op_id: Redir_DLess fd: 16777215 body: {(DQ ('#!/bin/sh\n') ('echo pass\n'))} do_expansion: True here_end: EOF was_filled: T spids: [667] ) (Redir op_id: Redir_Great fd: 16777215 arg_word: {(unlikely_name/also_unlikely)} spids: [670] ) ] ) (C {(framework_failure_)}) ] ) (AndOr ops: [Op_DPipe] children: [ (C {(chmod)} {(Lit_Other '+') (x)} {(unlikely_name/also_unlikely)}) (C {(framework_failure_)}) ] ) (AndOr ops: [Op_DAmp] children: [ (C {(env)} {(also_unlikely)}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[698])] spids: [698] ) ] ) (AndOr ops: [Op_DPipe] children: [ (C {(test)} {(x) (CommandSubPart command_list: (CommandList children: [ (SimpleCommand words: [{(env)} {(also_unlikely)}] more_env: [ (env_pair name: PATH val: {($ VSub_Name '$PATH') (Lit_Other ':') (unlikely_name)} spids: [705] ) ] ) ] ) left_token: <Left_CommandSub '$('> spids: [704 713] ) } {(Lit_Other '=')} {(xpass)} ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[721])] spids: [721] ) ] ) (AndOr ops: [Op_DPipe] children: [ (C {(test)} {(x) (CommandSubPart command_list: (CommandList children: [ (C {(env)} {(Lit_VarLike 'PATH=') (DQ ($ VSub_Name '$PATH')) (Lit_Other ':') (unlikely_name) } {(also_unlikely)} ) ] ) left_token: <Left_CommandSub '$('> spids: [727 738] ) } {(Lit_Other '=')} {(xpass)} ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[746])] spids: [746] ) ] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:PATH) op: Equal rhs: {($ VSub_Name '$PATH') (Lit_Other ':')} spids: [753] ) ] spids: [753] ) (C {(export)} {(PATH)}) (AndOr ops: [Op_DPipe] children: [ (C {(ln)} {(-s)} {(DQ ($ VSub_Name '$abs_top_builddir') (/src/echo))} {(./-u)}) (C {(framework_failure_)}) ] ) (Case to_match: { (CommandSubPart command_list: (CommandList children:[(C {(env)} {(-u)} {(echo)} {(echo)} {(good)})]) left_token: <Left_CommandSub '$('> spids: [794 804] ) } arms: [ (case_arm pat_list:[{(good)}] spids:[809 810 812 16777215]) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[818])] spids: [818] ) ] spids: [815 816 821 16777215] ) ] spids: [792 806 823] ) (Case to_match: { (CommandSubPart command_list: (CommandList children: [(C {(env)} {(-u)} {(echo)} {(--)} {(echo)} {(good)})] ) left_token: <Left_CommandSub '$('> spids: [827 839] ) } arms: [ (case_arm pat_list:[{(good)}] spids:[844 845 847 16777215]) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[853])] spids: [853] ) ] spids: [850 851 856 16777215] ) ] spids: [825 841 858] ) (Case to_match: { (CommandSubPart command_list: (CommandList children:[(C {(env)} {(--)} {(-u)} {(pass)})]) left_token: <Left_CommandSub '$('> spids: [862 870] ) } arms: [ (case_arm pat_list:[{(pass)}] spids:[875 876 878 16777215]) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[884])] spids: [884] ) ] spids: [881 882 887 16777215] ) ] spids: [860 872 889] ) (C {(env)} {(Lit_VarLike 'a=') (b)} {(--)} {(true)}) (AndOr ops: [Op_DPipe] children: [ (C {(test)} {($ VSub_QMark '$?')} {(Lit_Other '=')} {(127)}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[914])] spids: [914] ) ] ) (AndOr ops: [Op_DPipe] children: [ (C {(ln)} {(-s)} {(DQ ($ VSub_Name '$abs_top_builddir') (/src/echo))} {(./--)}) (C {(framework_failure_)}) ] ) (Case to_match: { (CommandSubPart command_list: (CommandList children: [ (AndOr ops: [Op_DPipe] children: [ (C {(env)} {(Lit_VarLike 'a=') (b)} {(--)} {(true)}) (C {(echo)} {(fail)}) ] ) ] ) left_token: <Left_CommandSub '$('> spids: [934 949] ) } arms: [ (case_arm pat_list:[{(true)}] spids:[954 955 957 16777215]) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[963])] spids: [963] ) ] spids: [960 961 966 16777215] ) ] spids: [932 951 968] ) (AndOr ops: [Op_DPipe] children: [ (SimpleCommand words: [{(cat)}] redirects: [ (HereDoc op_id: Redir_DLess fd: 16777215 body: {(DQ ('#!/bin/sh\n') ('echo pass\n'))} do_expansion: True here_end: EOF was_filled: T spids: [976] ) (Redir op_id: Redir_Great fd: 16777215 arg_word: {(./c) (Lit_Other '=') (d)} spids: [979] ) ] ) (C {(framework_failure_)}) ] ) (AndOr ops: [Op_DPipe] children: [(C {(chmod)} {(Lit_Other '+') (x)} {(Lit_VarLike 'c=') (d)}) (C {(framework_failure_)})] ) (AndOr ops: [Op_DPipe] children: [ (C {(test)} { (DQ (x) (CommandSubPart command_list: (CommandList children: [(C {(env)} {(Lit_VarLike 'c=') (d)} {(echo)} {(fail)})] ) left_token: <Left_CommandSub '$('> spids: [1007 1016] ) ) } {(Lit_Other '=')} {(xfail)} ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[1025])] spids: [1025] ) ] ) (AndOr ops: [Op_DPipe] children: [ (C {(test)} { (DQ (x) (CommandSubPart command_list: (CommandList children: [(C {(env)} {(--)} {(Lit_VarLike 'c=') (d)} {(echo)} {(fail)})] ) left_token: <Left_CommandSub '$('> spids: [1032 1043] ) ) } {(Lit_Other '=')} {(xfail)} ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[1052])] spids: [1052] ) ] ) (AndOr ops: [Op_DPipe] children: [ (C {(test)} { (DQ (x) (CommandSubPart command_list: (CommandList children: [(C {(env)} {(./c) (Lit_Other '=') (d)} {(echo)} {(fail)})] ) left_token: <Left_CommandSub '$('> spids: [1059 1069] ) ) } {(Lit_Other '=')} {(xfail)} ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[1078])] spids: [1078] ) ] ) (AndOr ops: [Op_DPipe] children: [ (C {(test)} { (DQ (x) (CommandSubPart command_list: (CommandList children: [ (C {(env)} {(sh)} {(-c)} {(SQ <'exec "$@"'>)} {(sh)} {(Lit_VarLike 'c=') (d)} {(echo)} {(fail)} ) ] ) left_token: <Left_CommandSub '$('> spids: [1085 1104] ) ) } {(Lit_Other '=')} {(xpass)} ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[1113])] spids: [1113] ) ] ) (AndOr ops: [Op_DAmp] children: [ (C {(test)} { (DQ (x) (CommandSubPart command_list: (CommandList children:[(C {(sh)} {(-c)} {(SQ <'\\c=d echo fail'>)})]) left_token: <Left_CommandSub '$('> spids: [1120 1128] ) ) } {(Lit_Other '=')} {(xpass)} ) (BraceGroup children: [ (Sentence child: (AndOr ops: [Op_DPipe] children: [ (C {(test)} { (DQ (x) (CommandSubPart command_list: (CommandList children: [(C {(env)} {(sh)} {(-c)} {(SQ <'\\c=d echo fail'>)})] ) left_token: <Left_CommandSub '$('> spids: [1147 1157] ) ) } {(Lit_Other '=')} {(xpass)} ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[1166])] spids: [1166] ) ] ) terminator: <Op_Semi ';'> ) ] spids: [1141] ) ] ) (AndOr ops: [Op_DAmp] children: [ (C {(env)} {(-u)} {(Lit_VarLike 'a=') (b)} {(true)}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[1187])] spids: [1187] ) ] ) (AndOr ops: [Op_DPipe] children: [ (C {(test)} {($ VSub_QMark '$?')} {(Lit_Other '=')} {(125)}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[1200])] spids: [1200] ) ] ) (AndOr ops: [Op_DAmp] children: [ (C {(env)} {(-u)} {(SQ )} {(true)}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[1214])] spids: [1214] ) ] ) (AndOr ops: [Op_DPipe] children: [ (C {(test)} {($ VSub_QMark '$?')} {(Lit_Other '=')} {(125)}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[1227])] spids: [1227] ) ] ) (C {(Exit)} {($ VSub_Name '$fail')}) ] )