(CommandList children: [ (Sentence child: (C {(.)} { (DQ (BracedVarSub token: <VSub_Name srcdir> suffix_op: (StringUnary op_id:VTest_Equals arg_word:{(.)}) spids: [47 51] ) (/tests/init.sh) ) } ) terminator: <Op_Semi ';'> ) (C {(path_prepend_)} {(./src)}) (C {(print_ver_)} {(ls)}) (AndOr ops:[Op_DPipe] children:[(C {(touch)} {(f)}) (C {(framework_failure_)})]) (AndOr ops: [Op_DPipe] children: [(C {(ln)} {(-s)} {(f)} {(slink)}) (C {(framework_failure_)})] ) (Sentence child: (C {(set)} {(x)} { (CommandSubPart command_list: (CommandList children:[(C {(ls)} {(-Ci)} {(f)} {(slink)})]) left_token: <Left_CommandSub '$('> spids: [95 103] ) } ) terminator: <Op_Semi ';'> ) (C {(shift)}) (AndOr ops: [Op_DPipe] children: [ (C {(test)} {($ VSub_Pound '$#')} {(Lit_Other '=')} {(4)}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[118])] spids: [118] ) ] ) (AndOr ops: [Op_DPipe] children: [ (C {(test)} {(DQ ($ VSub_Number '$1'))} {(KW_Bang '!') (Lit_Other '=')} {(DQ ($ VSub_Number '$3'))} ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[139])] spids: [139] ) ] ) (Sentence child: (C {(set)} {(x)} { (CommandSubPart command_list: (CommandList children:[(C {(ls)} {(-CLi)} {(f)} {(slink)})]) left_token: <Left_CommandSub '$('> spids: [147 155] ) } ) terminator: <Op_Semi ';'> ) (C {(shift)}) (AndOr ops: [Op_DPipe] children: [ (C {(test)} {($ VSub_Pound '$#')} {(Lit_Other '=')} {(4)}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[170])] spids: [170] ) ] ) (AndOr ops: [Op_DPipe] children: [ (C {(test)} {(DQ ($ VSub_Number '$1'))} {(Lit_Other '=')} {(DQ ($ VSub_Number '$3'))}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[190])] spids: [190] ) ] ) (Sentence child: (C {(set)} {(x)} { (CommandSubPart command_list: (CommandList children:[(C {(ls)} {(-CHi)} {(f)} {(slink)})]) left_token: <Left_CommandSub '$('> spids: [198 206] ) } ) terminator: <Op_Semi ';'> ) (C {(shift)}) (AndOr ops: [Op_DPipe] children: [ (C {(test)} {($ VSub_Pound '$#')} {(Lit_Other '=')} {(4)}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[221])] spids: [221] ) ] ) (AndOr ops: [Op_DPipe] children: [ (C {(test)} {(DQ ($ VSub_Number '$1'))} {(Lit_Other '=')} {(DQ ($ VSub_Number '$3'))}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[256])] spids: [256] ) ] ) (Sentence child: (C {(set)} {(x)} { (CommandSubPart command_list: (CommandList children:[(C {(ls)} {(-Ci)})]) left_token: <Left_CommandSub '$('> spids: [268 272] ) } ) terminator: <Op_Semi ';'> ) (C {(shift)}) (AndOr ops: [Op_DPipe] children: [ (C {(test)} {($ VSub_Pound '$#')} {(Lit_Other '=')} {(4)}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[287])] spids: [287] ) ] ) (AndOr ops: [Op_DPipe] children: [ (C {(test)} {(DQ ($ VSub_Number '$1'))} {(KW_Bang '!') (Lit_Other '=')} {(DQ ($ VSub_Number '$3'))} ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[308])] spids: [308] ) ] ) (Sentence child: (C {(set)} {(x)} { (CommandSubPart command_list: (CommandList children:[(C {(ls)} {(-CLi)})]) left_token: <Left_CommandSub '$('> spids: [316 320] ) } ) terminator: <Op_Semi ';'> ) (C {(shift)}) (AndOr ops: [Op_DPipe] children: [ (C {(test)} {($ VSub_Pound '$#')} {(Lit_Other '=')} {(4)}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[335])] spids: [335] ) ] ) (AndOr ops: [Op_DPipe] children: [ (C {(test)} {(DQ ($ VSub_Number '$1'))} {(Lit_Other '=')} {(DQ ($ VSub_Number '$3'))}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[355])] spids: [355] ) ] ) (Sentence child: (C {(set)} {(x)} { (CommandSubPart command_list: (CommandList children:[(C {(ls)} {(-CHi)})]) left_token: <Left_CommandSub '$('> spids: [363 367] ) } ) terminator: <Op_Semi ';'> ) (C {(shift)}) (AndOr ops: [Op_DPipe] children: [ (C {(test)} {($ VSub_Pound '$#')} {(Lit_Other '=')} {(4)}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[382])] spids: [382] ) ] ) (AndOr ops: [Op_DPipe] children: [ (C {(test)} {(DQ ($ VSub_Number '$1'))} {(KW_Bang '!') (Lit_Other '=')} {(DQ ($ VSub_Number '$3'))} ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[403])] spids: [403] ) ] ) (C {(Exit)} {($ VSub_Name '$fail')}) ] )