(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_>} {<mv>}) (C {<require_controlling_input_terminal_>}) (C {<skip_if_root_>}) (C {<trap>} {(SQ )} {<TTIN>}) (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<test>} {(DQ (command_sub left_token:<Id.Left_DollarParen '$('> child:(C {<uname>} {<-s>})))} {<Id.Lit_Equals '='>} {<FreeBSD>} ) (C {<skip_>} {(DQ <'known spurious failure on FreeBSD'>)}) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [(C {<touch>} {<f>} {<g>} {<h>} {<i>}) (C {<framework_failure_>})] ) (command.AndOr ops: [Id.Op_DPipe] children: [(C {<chmod>} {<0>} {<g>} {<i>}) (C {<framework_failure_>})] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (command.Simple words: [{<ls>} {<'/dev/stdin'>}] redirects: [ (redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<'/dev/null'>}) (redir op:<Id.Redir_GreatAnd '2>&'> loc:(redir_loc.Fd fd:2) arg:{<1>}) ] do_fork: T ) (C {<skip_>} {(SQ <'there is no /dev/stdin file'>)}) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:tty) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<readlink>} {<-f>} {<'/dev/stdin'>}) ) } spids: [160] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (command.Simple words: [{<test>} {<-r>} {(DQ ($ Id.VSub_DollarName '$tty'))}] redirects: [(redir op:<Id.Redir_GreatAnd '2>&'> loc:(redir_loc.Fd fd:2) arg:{<1>})] do_fork: T ) (C {<skip_>} {(SQ <'/dev/stdin is not readable'>)}) ] ) (command.CommandList children: [ (command.Sentence child: (command.Simple words: [{<mv>} {<f>} {<g>}] redirects: [ (redir op: <Id.Redir_Less '<'> loc: (redir_loc.Fd fd:0) arg: {($ Id.VSub_DollarName '$tty')} ) (redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<out>}) (redir op:<Id.Redir_GreatAnd '2>&'> loc:(redir_loc.Fd fd:2) arg:{<1>}) ] do_fork: T ) terminator: <Id.Op_Amp _> ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:pid) op: assign_op.Equal rhs: {($ Id.VSub_Bang '$!')} spids: [211] ) ] ) ] ) (command.ShFunction name: check_overwrite_prompt body: (BraceGroup children: [ (C {<local>} {<Id.Lit_VarLike 'delay='> (DQ ($ Id.VSub_Number '$1'))}) (command.Case to_match: {(DQ (command_sub left_token:<Id.Left_DollarParen '$('> child:(C {<cat>} {<out>})))} arms: [ (case_arm pat_list: [ {(DQ <'mv: try to overwrite \'g\', overriding mode 0000'>) <Id.Lit_Star '*'>} ] spids: [246 250 252 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (command.Sentence child: (C {<sleep>} {($ Id.VSub_DollarName '$delay')}) terminator: <Id.Op_Semi _> ) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<1>} ) ] spids: [255 256 266 -1] ) ] ) ] ) ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<retry_delay_>} {<check_overwrite_prompt>} {<.1>} {<7>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fail) op: assign_op.Equal rhs: {<1>} spids: [287] ) ] ) ] ) (C {<kill>} {($ Id.VSub_DollarName '$pid')}) (command.AndOr ops: [Id.Op_DPipe] children: [ (command.Simple words: [{<mv>} {<-f>} {<h>} {<i>}] redirects: [ (redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<out>}) (redir op:<Id.Redir_GreatAnd '2>&'> loc:(redir_loc.Fd fd:2) arg:{<1>}) ] do_fork: T ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fail) op: assign_op.Equal rhs: {<1>} spids: [313] ) ] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<test>} {<-f>} {<i>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fail) op: assign_op.Equal rhs: {<1>} spids: [324] ) ] ) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<test>} {<-f>} {<h>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fail) op: assign_op.Equal rhs: {<1>} spids: [335] ) ] ) ] ) (command.Case to_match: {(DQ (command_sub left_token:<Id.Left_DollarParen '$('> child:(C {<cat>} {<out>})))} arms: [ (case_arm pat_list:[{(SQ )}] spids:[355 357 359 -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: [365] ) ] ) ] spids: [362 363 368 -1] ) ] ) (C {<Exit>} {($ Id.VSub_DollarName '$fail')}) ] )