|
"""Common functions of the testsuitce""" |
|
import os |
|
|
|
class bcolors: |
|
PURPLE = '\033[95m' |
|
BLUE = '\033[94m' |
|
GREEN = '\033[92m' |
|
YELLOW = '\033[93m' |
|
RED = '\033[91m' |
|
ENDC = '\033[0m' |
|
|
|
class LogLine: |
|
"""A class to contain logfile line""" |
|
def __init__(self, date, time, revision, testname, real, user, system, branch): |
|
self.date = date |
|
self.time = time |
|
self.revision = revision |
|
self.testname = testname |
|
self.real = real |
|
self.system = system |
|
self.user = user |
|
self.branch = branch |
|
|
|
class Result: |
|
"""A class to contain results of benchmarking""" |
|
def __init__(self, testname, previous, current, revision, branch, prevrev, prevbranch): |
|
self.testname = testname |
|
self.previous = previous |
|
self.current = current |
|
self.change = previous - current |
|
self.revision = revision |
|
self.branch = branch |
|
self.prevbranch = prevbranch |
|
self.prevrev = prevrev |
|
|
|
self.percentage = float(format(1 - current/previous, '.4f')) |
|
|
|
def processLogLine(logline): |
|
"""Parses the log line into a nice datastructure""" |
|
logline = logline.split() |
|
log = LogLine(logline[0], logline[1], logline[2], logline[4],\ |
|
float(logline[6]), float(logline[8]), float(logline[10]), logline[12]) |
|
return log |
|
|
|
def getLastTwoLines(filename, logdir): |
|
"""Just a call to tail to get the diff between the last two runs""" |
|
try: |
|
line1, line2 = os.popen("tail -n2 " + logdir + '/' + filename) |
|
except ValueError: |
|
tempfile = open(logdir + '/' + filename) |
|
line1 = tempfile.readline() |
|
tempfile.close() |
|
return (line1, '\n') |
|
return (line1, line2) |
|
|