parse-testpi1.py revision d93eb3eeece016658bce9504009c30b71458e34d
1d93eb3eeece016658bce9504009c30b71458e34dsubrata_modak################################################################################ 2d93eb3eeece016658bce9504009c30b71458e34dsubrata_modak## ## 3d93eb3eeece016658bce9504009c30b71458e34dsubrata_modak## Copyright © International Business Machines Corp., 2007, 2008 ## 4d93eb3eeece016658bce9504009c30b71458e34dsubrata_modak## ## 5d93eb3eeece016658bce9504009c30b71458e34dsubrata_modak## This program is free software; you can redistribute it and#or modify ## 6d93eb3eeece016658bce9504009c30b71458e34dsubrata_modak## it under the terms of the GNU General Public License as published by ## 7d93eb3eeece016658bce9504009c30b71458e34dsubrata_modak## the Free Software Foundation; either version 2 of the License, or ## 8d93eb3eeece016658bce9504009c30b71458e34dsubrata_modak## (at your option) any later version. ## 9d93eb3eeece016658bce9504009c30b71458e34dsubrata_modak## ## 10d93eb3eeece016658bce9504009c30b71458e34dsubrata_modak## This program is distributed in the hope that it will be useful, but ## 11d93eb3eeece016658bce9504009c30b71458e34dsubrata_modak## WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY ## 12d93eb3eeece016658bce9504009c30b71458e34dsubrata_modak## or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ## 13d93eb3eeece016658bce9504009c30b71458e34dsubrata_modak## for more details. ## 14d93eb3eeece016658bce9504009c30b71458e34dsubrata_modak## ## 15d93eb3eeece016658bce9504009c30b71458e34dsubrata_modak## You should have received a copy of the GNU General Public License ## 16d93eb3eeece016658bce9504009c30b71458e34dsubrata_modak## along with this program; if not, write to the Free Software ## 17d93eb3eeece016658bce9504009c30b71458e34dsubrata_modak## Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ## 18d93eb3eeece016658bce9504009c30b71458e34dsubrata_modak## ## 19d93eb3eeece016658bce9504009c30b71458e34dsubrata_modak## NAME: parse-testpi1.py ## 20d93eb3eeece016658bce9504009c30b71458e34dsubrata_modak## ## 21d93eb3eeece016658bce9504009c30b71458e34dsubrata_modak## DESCRIPTION: Log Parser for the testpi-1.c test ## 22d93eb3eeece016658bce9504009c30b71458e34dsubrata_modak## ## 23d93eb3eeece016658bce9504009c30b71458e34dsubrata_modak## AUTHOR: Chirag <chirag@linux.vnet.ibm.com ## 24d93eb3eeece016658bce9504009c30b71458e34dsubrata_modak## ## 25d93eb3eeece016658bce9504009c30b71458e34dsubrata_modak################################################################################ 26d93eb3eeece016658bce9504009c30b71458e34dsubrata_modak 276acdc8efa73ceb0c3b515cd34c333d929e8b4273subrata_modakfrom scripts.parser import * 286acdc8efa73ceb0c3b515cd34c333d929e8b4273subrata_modakimport re 296acdc8efa73ceb0c3b515cd34c333d929e8b4273subrata_modakclass TestPi1(Log): 306acdc8efa73ceb0c3b515cd34c333d929e8b4273subrata_modak def __init__(self,filename): 316acdc8efa73ceb0c3b515cd34c333d929e8b4273subrata_modak Log.__init__(self,filename) 326acdc8efa73ceb0c3b515cd34c333d929e8b4273subrata_modak 336acdc8efa73ceb0c3b515cd34c333d929e8b4273subrata_modak def eval(self): 346acdc8efa73ceb0c3b515cd34c333d929e8b4273subrata_modak exp1= re.compile("pthread pol 0 pri 0") 356acdc8efa73ceb0c3b515cd34c333d929e8b4273subrata_modak exp2= re.compile(r'^Noise Thread') 366acdc8efa73ceb0c3b515cd34c333d929e8b4273subrata_modak exp3=re.compile("[1-9]\d{2,3}") 376acdc8efa73ceb0c3b515cd34c333d929e8b4273subrata_modak flag=False 386acdc8efa73ceb0c3b515cd34c333d929e8b4273subrata_modak for line in self.read(): 396acdc8efa73ceb0c3b515cd34c333d929e8b4273subrata_modak if exp1.search(line) and exp2.search(prev_line)and exp3.search(prev_line): 406acdc8efa73ceb0c3b515cd34c333d929e8b4273subrata_modak list=prev_line.split(" ") 416acdc8efa73ceb0c3b515cd34c333d929e8b4273subrata_modak if int(list[4])< 9900: 426acdc8efa73ceb0c3b515cd34c333d929e8b4273subrata_modak flag=True 436acdc8efa73ceb0c3b515cd34c333d929e8b4273subrata_modak else: 446acdc8efa73ceb0c3b515cd34c333d929e8b4273subrata_modak flag=False 456acdc8efa73ceb0c3b515cd34c333d929e8b4273subrata_modak 466acdc8efa73ceb0c3b515cd34c333d929e8b4273subrata_modak 476acdc8efa73ceb0c3b515cd34c333d929e8b4273subrata_modak 486acdc8efa73ceb0c3b515cd34c333d929e8b4273subrata_modak prev_line=line 496acdc8efa73ceb0c3b515cd34c333d929e8b4273subrata_modak return flag 506acdc8efa73ceb0c3b515cd34c333d929e8b4273subrata_modak 516acdc8efa73ceb0c3b515cd34c333d929e8b4273subrata_modakdef main(): 526acdc8efa73ceb0c3b515cd34c333d929e8b4273subrata_modak if len(sys.argv) < 2: 536acdc8efa73ceb0c3b515cd34c333d929e8b4273subrata_modak sys.exit("Usage : ./%s <logname>" % sys.argv[0]) 546acdc8efa73ceb0c3b515cd34c333d929e8b4273subrata_modak else: 556acdc8efa73ceb0c3b515cd34c333d929e8b4273subrata_modak log_file = sys.argv[1] 566acdc8efa73ceb0c3b515cd34c333d929e8b4273subrata_modak log = TestPi1(log_file) 576acdc8efa73ceb0c3b515cd34c333d929e8b4273subrata_modak sys.exit("Result: %s " % (["FAIL", "PASS"][log.eval()])) 586acdc8efa73ceb0c3b515cd34c333d929e8b4273subrata_modak 596acdc8efa73ceb0c3b515cd34c333d929e8b4273subrata_modakif __name__ == "__main__": 606acdc8efa73ceb0c3b515cd34c333d929e8b4273subrata_modak main() 61