(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 {(ln)} {(-s)} {(no-such-file)} {(dangle)}) (C {(framework_failure_)})] ) (AndOr ops:[Op_DPipe] children:[(C {(mkdir)} {(-p)} {(dir/sub)}) (C {(framework_failure_)})]) (AndOr ops: [Op_DPipe] children: [(C {(ln)} {(-s)} {(dir)} {(slink-to-dir)}) (C {(framework_failure_)})] ) (AndOr ops:[Op_DPipe] children:[(C {(mkdir)} {(d)}) (C {(framework_failure_)})]) (AndOr ops: [Op_DPipe] children: [(C {(ln)} {(-s)} {(no-such)} {(d/dangle)}) (C {(framework_failure_)})] ) (AndOr ops: [Op_DPipe] children: [ (SimpleCommand words: [{(printf)} {(SQ <'? dangle\\n'>)}] redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(subdir_Li_exp)} spids:[125])] ) (C {(framework_failure_)}) ] ) (AndOr ops: [Op_DPipe] children: [ (SimpleCommand words: [{(printf)} {(SQ <'total 0\\n? dangle\\n'>)}] redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(subdir_Ls_exp)} spids:[139])] ) (C {(framework_failure_)}) ] ) (AndOr ops: [Op_DAmp] children: [ (SimpleCommand words: [{(ls)} {(-L)} {(dangle)}] redirects: [ (Redir op_id:Redir_Great fd:16777215 arg_word:{(/dev/null)} spids:[158]) (Redir op_id:Redir_GreatAnd fd:2 arg_word:{(1)} spids:[162]) ] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[167])] spids: [167] ) ] ) (AndOr ops: [Op_DAmp] children: [ (SimpleCommand words: [{(ls)} {(-H)} {(dangle)}] redirects: [ (Redir op_id:Redir_Great fd:16777215 arg_word:{(/dev/null)} spids:[179]) (Redir op_id:Redir_GreatAnd fd:2 arg_word:{(1)} spids:[183]) ] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[188])] spids: [188] ) ] ) (AndOr ops: [Op_DPipe] children: [ (SimpleCommand words: [{(ls)} {(dangle)}] redirects: [(Redir op_id:Redir_DGreat fd:16777215 arg_word:{(out)} spids:[199])] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[205])] spids: [205] ) ] ) (AndOr ops: [Op_DPipe] children: [ (SimpleCommand words: [{(ls)} {(slink-to-dir)}] redirects: [ (Redir op_id:Redir_DGreat fd:16777215 arg_word:{(out)} spids:[213]) (Redir op_id:Redir_GreatAnd fd:2 arg_word:{(1)} spids:[217]) ] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[222])] spids: [222] ) ] ) (AndOr ops: [Op_DPipe] children: [ (SimpleCommand words: [{(ls)} {(-H)} {(slink-to-dir)}] redirects: [ (Redir op_id:Redir_DGreat fd:16777215 arg_word:{(out)} spids:[231]) (Redir op_id:Redir_GreatAnd fd:2 arg_word:{(1)} spids:[235]) ] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[240])] spids: [240] ) ] ) (AndOr ops: [Op_DPipe] children: [ (SimpleCommand words: [{(ls)} {(-L)} {(slink-to-dir)}] redirects: [ (Redir op_id:Redir_DGreat fd:16777215 arg_word:{(out)} spids:[249]) (Redir op_id:Redir_GreatAnd fd:2 arg_word:{(1)} spids:[253]) ] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[258])] spids: [258] ) ] ) (SimpleCommand words: [{(cat)}] redirects: [ (HereDoc op_id: Redir_DLess fd: 16777215 body: {('dangle\n') ('sub\n') ('sub\n') ('sub\n')} do_expansion: False here_end: EOF was_filled: T spids: [264] ) (Redir op_id:Redir_Great fd:16777215 arg_word:{(exp)} spids:[268]) ] ) (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:[281])] spids: [281] ) ] ) (C {(rm)} {(-f)} {(out)}) (AndOr ops: [Op_DAmp] children: [ (SimpleCommand words: [{(ls)} {(-Li)} {(d)}] redirects: [ (Redir op_id:Redir_Great fd:16777215 arg_word:{(out)} spids:[300]) (Redir op_id:Redir_Great fd:2 arg_word:{(/dev/null)} spids:[304]) ] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[309])] spids: [309] ) ] ) (AndOr ops: [Op_DPipe] children: [ (C {(compare)} {(subdir_Li_exp)} {(out)}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[320])] spids: [320] ) ] ) (C {(rm)} {(-f)} {(out)}) (AndOr ops: [Op_DAmp] children: [ (SimpleCommand words: [{(ls)} {(-Ls)} {(d)}] redirects: [ (Redir op_id:Redir_Great fd:16777215 arg_word:{(out)} spids:[339]) (Redir op_id:Redir_Great fd:2 arg_word:{(/dev/null)} spids:[343]) ] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[348])] spids: [348] ) ] ) (AndOr ops: [Op_DPipe] children: [ (C {(compare)} {(subdir_Ls_exp)} {(out)}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[359])] spids: [359] ) ] ) (C {(Exit)} {($ VSub_Name '$fail')}) ] )