| """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) |
|
|