(command.CommandList children: [ (command.CommandList children: [ (command.Sentence child: (C {<.>} { (DQ (braced_var_sub token: <Id.VSub_Name srcdir> suffix_op: (suffix_op.Unary tok:<Id.VTest_Equals '='> arg_word:{<.>}) ) <'/tests/init.sh'> ) } ) terminator: <Id.Op_Semi _> ) (C {<path_prepend_>} {<'./src'>}) ] ) (C {<print_ver_>} {<touch>}) (command.AndOr ops: [Id.Op_DPipe] children: [(C {<ln>} {<-s>} {<nowhere>} {<dangling>}) (C {<framework_failure_>})] ) (command.AndOr ops: [Id.Op_DPipe] children: [(C {<ln>} {<-s>} {<loop>} {<loop>}) (C {<framework_failure_>})] ) (command.AndOr ops: [Id.Op_DPipe] children: [(C {<touch>} {<file>}) (C {<framework_failure_>})] ) (command.AndOr ops: [Id.Op_DPipe] children: [(C {<ln>} {<-s>} {<file>} {<link1>}) (C {<framework_failure_>})] ) (command.AndOr ops:[Id.Op_DPipe] children:[(C {<mkdir>} {<dir>}) (C {<framework_failure_>})]) (command.AndOr ops: [Id.Op_DPipe] children: [(C {<ln>} {<-s>} {<dir>} {<link2>}) (C {<framework_failure_>})] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<touch>} {<'no-file/'>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fail) op: assign_op.Equal rhs: {<1>} spids: [143] ) ] ) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<touch>} {<'file/'>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fail) op: assign_op.Equal rhs: {<1>} spids: [152] ) ] ) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<touch>} {<'dangling/'>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fail) op: assign_op.Equal rhs: {<1>} spids: [161] ) ] ) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<touch>} {<'loop/'>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fail) op: assign_op.Equal rhs: {<1>} spids: [170] ) ] ) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<touch>} {<'link1/'>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fail) op: assign_op.Equal rhs: {<1>} spids: [179] ) ] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<touch>} {<'dir/'>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fail) op: assign_op.Equal rhs: {<1>} spids: [188] ) ] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<touch>} {<-c>} {<'no-file/'>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fail) op: assign_op.Equal rhs: {<1>} spids: [203] ) ] ) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<touch>} {<-c>} {<'file/'>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fail) op: assign_op.Equal rhs: {<1>} spids: [214] ) ] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<touch>} {<-c>} {<'dangling/'>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fail) op: assign_op.Equal rhs: {<1>} spids: [225] ) ] ) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<touch>} {<-c>} {<'loop/'>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fail) op: assign_op.Equal rhs: {<1>} spids: [236] ) ] ) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<touch>} {<-c>} {<'link1/'>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fail) op: assign_op.Equal rhs: {<1>} spids: [247] ) ] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<touch>} {<-c>} {<'dir/'>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fail) op: assign_op.Equal rhs: {<1>} spids: [258] ) ] ) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<test>} {<-f>} {<no-file>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fail) op: assign_op.Equal rhs: {<1>} spids: [269] ) ] ) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<test>} {<-f>} {<nowhere>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fail) op: assign_op.Equal rhs: {<1>} spids: [280] ) ] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<touch>} {<-d>} {<2009-10-10>} {<-h>} {<'link2/'>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fail) op: assign_op.Equal rhs: {<1>} spids: [305] ) ] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<touch>} {<-h>} {<-r>} {<'link2/'>} {<file>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fail) op: assign_op.Equal rhs: {<1>} spids: [320] ) ] ) ] ) (command.Case to_match: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<stat>} {<--format> <Id.Lit_Equals '='> <Id.Lit_Other '%'> <y>} {<dir>}) ) } arms: [ (case_arm pat_list:[{<2009-10-10> <Id.Lit_Star '*'>}] spids:[339 341 343 -1]) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fail) op: assign_op.Equal rhs: {<1>} spids: [349] ) ] ) ] spids: [346 347 352 -1] ) ] ) (command.Case to_match: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<stat>} {<--format> <Id.Lit_Equals '='> <Id.Lit_Other '%'> <y>} {<link2>}) ) } arms: [ (case_arm pat_list: [{<2009-10-10> <Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fail) op: assign_op.Equal rhs: {<1>} spids: [376] ) ] ) ] spids: [372 374 379 -1] ) ] ) (command.Case to_match: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<stat>} {<--format> <Id.Lit_Equals '='> <Id.Lit_Other '%'> <y>} {<file>}) ) } arms: [ (case_arm pat_list:[{<2009-10-10> <Id.Lit_Star '*'>}] spids:[399 401 403 -1]) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fail) op: assign_op.Equal rhs: {<1>} spids: [409] ) ] ) ] spids: [406 407 412 -1] ) ] ) (C {<Exit>} {($ Id.VSub_DollarName '$fail')}) ] )