(CommandList children: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:MODULE_NAME) op:Equal rhs:{(udelay_test)} spids:[53])] spids: [53] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:UDELAY_PATH) op: Equal rhs: {(/sys/kernel/debug/udelay_test)} spids: [56] ) ] spids: [56] ) (FuncDef name: setup body: (BraceGroup children: [ (C {(/sbin/modprobe)} {(-q)} {($ VSub_Name '$MODULE_NAME')}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:tmp_file) op: Equal rhs: { (CommandSubPart command_list: (CommandList children:[(C {(mktemp)})]) left_token: <Left_Backtick '`'> spids: [75 77] ) } spids: [74] ) ] spids: [74] ) ] spids: [64] ) spids: [60 63] ) (FuncDef name: test_one body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:delay) op: Equal rhs: {($ VSub_Number '$1')} spids: [89] ) ] spids: [89] ) (SimpleCommand words: [{(echo)} {($ VSub_Name '$delay')}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {($ VSub_Name '$UDELAY_PATH')} spids: [97] ) ] ) (SimpleCommand words: [{(tee)} {(-a)} {($ VSub_Name '$tmp_file')}] redirects: [ (Redir op_id: Redir_Less fd: 16777215 arg_word: {($ VSub_Name '$UDELAY_PATH')} spids: [108] ) ] ) ] spids: [86] ) spids: [82 85] ) (FuncDef name: cleanup body: (BraceGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-f)} {($ VSub_Name '$tmp_file')} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [(C {(rm)} {($ VSub_Name '$tmp_file')})] spids: [16777215 133] ) ] spids: [16777215 141] ) (C {(/sbin/modprobe)} {(-q)} {(-r)} {($ VSub_Name '$MODULE_NAME')}) ] spids: [119] ) spids: [115 118] ) (C {(trap)} {(cleanup)} {(EXIT)}) (C {(setup)}) (ForExpr init: (BinaryAssign op_id: Arith_Equal left: (LhsName name:delay) right: (ArithWord w:{(Lit_Digits 1)}) ) cond: (ArithBinary op_id: Arith_Less left: (ArithVarRef name:delay) right: (ArithWord w:{(Lit_Digits 200)}) ) update: (BinaryAssign op_id: Arith_PlusEqual left: (LhsName name:delay) right: (ArithWord w:{(Lit_Digits 1)}) ) body: (DoGroup children:[(C {(test_one)} {($ VSub_Name '$delay')})] spids:[198 205]) ) (ForExpr init: (BinaryAssign op_id: Arith_Equal left: (LhsName name:delay) right: (ArithWord w:{(Lit_Digits 200)}) ) cond: (ArithBinary op_id: Arith_Less left: (ArithVarRef name:delay) right: (ArithWord w:{(Lit_Digits 500)}) ) update: (BinaryAssign op_id: Arith_PlusEqual left: (LhsName name:delay) right: (ArithWord w:{(Lit_Digits 10)}) ) body: (DoGroup children:[(C {(test_one)} {($ VSub_Name '$delay')})] spids:[235 242]) ) (ForExpr init: (BinaryAssign op_id: Arith_Equal left: (LhsName name:delay) right: (ArithWord w:{(Lit_Digits 500)}) ) cond: (ArithBinary op_id: Arith_LessEqual left: (ArithVarRef name:delay) right: (ArithWord w:{(Lit_Digits 2000)}) ) update: (BinaryAssign op_id: Arith_PlusEqual left: (LhsName name:delay) right: (ArithWord w:{(Lit_Digits 100)}) ) body: (DoGroup children:[(C {(test_one)} {($ VSub_Name '$delay')})] spids:[272 279]) ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:count) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(grep)} {(-c)} {(FAIL)} {($ VSub_Name '$tmp_file')})] ) left_token: <Left_Backtick '`'> spids: [286 294] ) } spids: [285] ) ] spids: [285] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {($ VSub_QMark '$?')} {(-eq)} {(DQ (0))} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (C {(echo)} {(DQ ('ERROR: ') ($ VSub_Name '$count') (' delays failed to delay long enough'))} ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:retcode) op:Equal rhs:{(1)} spids:[323])] spids: [323] ) ] spids: [16777215 311] ) ] spids: [16777215 326] ) (C {(exit)} {($ VSub_Name '$retcode')}) ] )