(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_)} {(split)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:a_z) op: Equal rhs: {(SQ <'a b c d e f g h i j k l m n o p q r s t u v w x y z'>)} spids: [65] ) ] spids: [65] ) (AndOr ops: [Op_DPipe] children: [ (Pipeline children: [ (C {(printf)} {(Lit_Other '%') (s)} {($ VSub_Name '$a_z')} {(0)}) (SimpleCommand words: [{(tr)} {(-d)} {(SQ <' '>)}] redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(KW_In in)} spids:[92])] ) ] negated: F ) (C {(framework_failure_)}) ] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:files) op:Equal rhs:{(EmptyPart)} spids:[101])] spids: [101] ) (ForEach iter_name: i iter_words: [{($ VSub_Name '$a_z')}] do_arg_iter: F body: (DoGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:files) op: Equal rhs: {(DQ (${ VSub_Name files) (xa) ($ VSub_Name '$i') (' '))} spids: [115] ) ] spids: [115] ) ] spids: [112 125] ) spids: [108 110] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:files) op: Equal rhs: {(DQ (${ VSub_Name files) (xba))} spids: [127] ) ] spids: [127] ) (AndOr ops: [Op_DPipe] children: [ (ForEach iter_name: f iter_words: [{($ VSub_Name '$files')}] do_arg_iter: F body: (DoGroup children: [(C {(printf)} {(DQ ("creating file '%s'")) (SQ <'\\n'>)} {($ VSub_Name '$f')})] spids: [145 159] ) redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(exp)} spids:[161])] spids: [141 143] ) (C {(framework_failure_)}) ] ) (AndOr ops: [Op_DPipe] children: [ (SimpleCommand words: [{(echo)} {(split) (Lit_Other ':')} {(output)} {(file)} {(suffixes)} {(exhausted)}] redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(exp-too-short)} spids:[185])] ) (C {(framework_failure_)}) ] ) (AndOr ops: [Op_DAmp] children: [ (SimpleCommand words: [{(split)} {(-b)} {(1)} {(-a)} {(1)} {(KW_In in)}] redirects: [(Redir op_id:Redir_Great fd:2 arg_word:{(err)} spids:[210])] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[216])] spids: [216] ) ] ) (AndOr ops: [Op_DPipe] children: [ (C {(test)} {(-f)} {(xa)}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[227])] spids: [227] ) ] ) (AndOr ops: [Op_DPipe] children: [ (C {(test)} {(-f)} {(xz)}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[238])] spids: [238] ) ] ) (AndOr ops: [Op_DAmp] children: [ (C {(test)} {(-f)} {(xaa)}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[249])] spids: [249] ) ] ) (AndOr ops: [Op_DAmp] children: [ (C {(test)} {(-f)} {(xaz)}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[260])] spids: [260] ) ] ) (C {(rm)} {(-f)} {(x) (Lit_Other '*')}) (AndOr ops: [Op_DPipe] children: [ (C {(compare)} {(exp-too-short)} {(err)}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[278])] spids: [278] ) ] ) (AndOr ops: [Op_DPipe] children: [ (SimpleCommand words: [{(split)} {(--verbose)} {(-b)} {(1)} {(-a)} {(2)} {(KW_In in)}] redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(err)} spids:[299])] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[305])] spids: [305] ) ] ) (AndOr ops: [Op_DPipe] children: [ (C {(compare)} {(exp)} {(err)}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[316])] spids: [316] ) ] ) (AndOr ops: [Op_DAmp] children: [ (C {(test)} {(-f)} {(xbb)}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[331])] spids: [331] ) ] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:n) op:Equal rhs:{(1)} spids:[338])] spids: [338] ) (ForEach iter_name: f iter_words: [{($ VSub_Name '$files')}] do_arg_iter: F body: (DoGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:expected_byte) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(cut)} {(-b)} {($ VSub_Name '$n')} {(KW_In in)})] ) left_token: <Left_CommandSub '$('> spids: [354 362] ) } spids: [353] ) ] spids: [353] ) (AndOr ops: [Op_DPipe] children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:b) op: Equal rhs: { (CommandSubPart command_list: (CommandList children:[(C {(cat)} {($ VSub_Name '$f')})]) left_token: <Left_CommandSub '$('> spids: [366 370] ) } spids: [365] ) ] spids: [365] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[374])] spids: [374] ) ] ) (AndOr ops: [Op_DPipe] children: [ (C {(test)} {(DQ ($ VSub_Name '$b'))} {(Lit_Other '=')} {(DQ ($ VSub_Name '$expected_byte'))} ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[392])] spids: [392] ) ] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:n) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(expr)} {($ VSub_Name '$n')} {(Lit_Other '+')} {(1)})] ) left_token: <Left_CommandSub '$('> spids: [397 405] ) } spids: [396] ) ] spids: [396] ) ] spids: [350 407] ) spids: [346 348] ) (AndOr ops: [Op_DPipe] children: [ (SimpleCommand words: [{(split)} {(-a2)} {(-b1000)}] redirects: [(Redir op_id:Redir_Less fd:16777215 arg_word:{(/dev/null)} spids:[419])] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[425])] spids: [425] ) ] ) (AndOr ops: [Op_DPipe] children: [ (SimpleCommand words: [{(split)} {(-a2)} {(-l1000)}] redirects: [(Redir op_id:Redir_Less fd:16777215 arg_word:{(/dev/null)} spids:[434])] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[440])] spids: [440] ) ] ) (AndOr ops: [Op_DPipe] children: [ (SimpleCommand words: [{(split)} {(-a2)} {(-C1000)}] redirects: [(Redir op_id:Redir_Less fd:16777215 arg_word:{(/dev/null)} spids:[449])] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[455])] spids: [455] ) ] ) (C {(rm)} {(-f)} {(x) (Lit_Other '*')}) (AndOr ops: [Op_DAmp] children: [ (SimpleCommand words: [{(split)} {(-a2)} {(-n1000)}] redirects: [(Redir op_id:Redir_Less fd:16777215 arg_word:{(/dev/null)} spids:[475])] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[481])] spids: [481] ) ] ) (AndOr ops: [Op_DAmp] children: [ (C {(test)} {(-f)} {(xaa)}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[492])] spids: [492] ) ] ) (C {(Exit)} {($ VSub_Name '$fail')}) ] )