(CommandList children: [ (Sentence child: (C {(.)} { (DQ (BracedVarSub token: <VSub_Name srcdir> suffix_op: (StringUnary op_id:VTest_Equals arg_word:{(.)}) spids: [56 60] ) (/tests/init.sh) ) } ) terminator: <Op_Semi ';'> ) (C {(path_prepend_)} {(./src)}) (C {(print_ver_)} {(mv)}) (AndOr ops:[Op_DPipe] children:[(C {(mkdir)} {(foo)}) (C {(framework_failure_)})]) (AndOr ops: [Op_DPipe] children: [ (C {(mv)} {(foo/)} {(bar)}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[92])] spids: [92] ) ] ) (ForEach iter_name: cmd iter_words: [{(mv)} {(SQ <'cp -r'>)}] do_arg_iter: F body: (DoGroup children: [ (ForEach iter_name: opt iter_words: [{(SQ )} {(-T)} {(-u)}] do_arg_iter: F body: (DoGroup children: [ (AndOr ops: [Op_DPipe] children: [(C {(rm)} {(-rf)} {(d)} {(e)}) (C {(framework_failure_)})] ) (AndOr ops: [Op_DPipe] children: [(C {(mkdir)} {(d)}) (C {(framework_failure_)})] ) (AndOr ops: [Op_DPipe] children: [ (C {($ VSub_Name '$cmd')} {($ VSub_Name '$opt')} {(d)} {(e/)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:fail) op: Equal rhs: {(1)} spids: [165] ) ] spids: [165] ) ] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(test)} {(DQ ($ VSub_Name '$cmd'))} {(Lit_Other '=')} {(mv)}) terminator: <Op_Semi ';'> ) ] action: [ (AndOr ops: [Op_DAmp] children: [ (C {(test)} {(-d)} {(d)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:fail) op: Equal rhs: {(1)} spids: [193] ) ] spids: [193] ) ] ) ] spids: [16777215 182] ) ] else_action: [ (AndOr ops: [Op_DPipe] children: [ (C {(test)} {(-d)} {(d)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:fail) op: Equal rhs: {(1)} spids: [208] ) ] spids: [208] ) ] ) ] spids: [197 212] ) (AndOr ops: [Op_DPipe] children: [ (C {(test)} {(-d)} {(e)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:fail) op: Equal rhs: {(1)} spids: [223] ) ] spids: [223] ) ] ) ] spids: [129 227] ) spids: [120 127] ) ] spids: [112 229] ) spids: [104 110] ) (SimpleCommand words: [ {(printf)} {(SQ <'%s\\n'>)} {(DQ ("cp: cannot create regular file 'no-such/': Not a directory"))} ] redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(expected-err)} spids:[267])] ) (C {(touch)} {(b)}) (AndOr ops: [Op_DAmp] children: [ (SimpleCommand words: [{(cp)} {(b)} {(no-such/)}] redirects: [(Redir op_id:Redir_Great fd:2 arg_word:{(err)} spids:[281])] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[287])] spids: [287] ) ] ) (AndOr ops: [Op_DAmp] children: [ (SimpleCommand words: [{(sed)} {(SQ <'s/No such file or directory/Not a directory/'>)} {(err)}] redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(k)} spids:[302])] ) (C {(mv)} {(k)} {(err)}) ] ) (AndOr ops: [Op_DPipe] children: [ (C {(compare)} {(expected-err)} {(err)}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[323])] spids: [323] ) ] ) (C {(Exit)} {($ VSub_Name '$fail')}) ] )