(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_)} {(stat)}) (AndOr ops: [Op_DPipe] children: [ (C {(touch)} {(a)}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[77])] spids: [77] ) ] ) (AndOr ops: [Op_DPipe] children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:btime) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(stat)} {(--format)} {(Lit_Other '%') (W)} {(a)})] ) left_token: <Left_CommandSub '$('> spids: [81 90] ) } spids: [80] ) ] spids: [80] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[94])] spids: [94] ) ] ) (AndOr ops: [Op_DPipe] children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:atime) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(stat)} {(--format)} {(Lit_Other '%') (X)} {(a)})] ) left_token: <Left_CommandSub '$('> spids: [98 107] ) } spids: [97] ) ] spids: [97] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[111])] spids: [111] ) ] ) (AndOr ops: [Op_DPipe] children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:mtime) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(stat)} {(--format)} {(Lit_Other '%') (Y)} {(a)})] ) left_token: <Left_CommandSub '$('> spids: [115 124] ) } spids: [114] ) ] spids: [114] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[128])] spids: [128] ) ] ) (AndOr ops: [Op_DPipe] children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ctime) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(stat)} {(--format)} {(Lit_Other '%') (Z)} {(a)})] ) left_token: <Left_CommandSub '$('> spids: [132 141] ) } spids: [131] ) ] spids: [131] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[145])] spids: [145] ) ] ) (FuncDef name: check_timestamps_updated body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:delay) op: Equal rhs: {(DQ ($ VSub_Number '$1'))} spids: [182] ) ] spids: [180] ) (C {(sleep)} {($ VSub_Name '$delay')}) (AndOr ops: [Op_DPipe] children: [ (C {(touch)} {(a)}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[199])] spids: [199] ) ] ) (AndOr ops: [Op_DAmp Op_DAmp Op_DAmp] children: [ (C {(test)} {(DQ (x) ($ VSub_Name '$btime'))} {(Lit_Other '=')} {(x) (CommandSubPart command_list: (CommandList children: [(C {(stat)} {(--format)} {(Lit_Other '%') (W)} {(a)})] ) left_token: <Left_CommandSub '$('> spids: [214 223] ) } ) (C {(test)} {(DQ (x) ($ VSub_Name '$atime'))} {(KW_Bang '!') (Lit_Other '=')} {(x) (CommandSubPart command_list: (CommandList children: [(C {(stat)} {(--format)} {(Lit_Other '%') (X)} {(a)})] ) left_token: <Left_CommandSub '$('> spids: [239 248] ) } ) (C {(test)} {(DQ (x) ($ VSub_Name '$mtime'))} {(KW_Bang '!') (Lit_Other '=')} {(x) (CommandSubPart command_list: (CommandList children: [(C {(stat)} {(--format)} {(Lit_Other '%') (Y)} {(a)})] ) left_token: <Left_CommandSub '$('> spids: [264 273] ) } ) (C {(test)} {(DQ (x) ($ VSub_Name '$ctime'))} {(KW_Bang '!') (Lit_Other '=')} {(x) (CommandSubPart command_list: (CommandList children: [(C {(stat)} {(--format)} {(Lit_Other '%') (Z)} {(a)})] ) left_token: <Left_CommandSub '$('> spids: [289 298] ) } ) ] ) ] spids: [177] ) spids: [173 176] ) (AndOr ops: [Op_DPipe] children: [ (C {(retry_delay_)} {(check_timestamps_updated)} {(.07)} {(5)}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[312])] spids: [312] ) ] ) (C {(Exit)} {($ VSub_Name '$fail')}) ] )