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