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