You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
67 lines
1.9 KiB
67 lines
1.9 KiB
from table_formatter import TableFormatter as TableFormatter |
|
|
|
|
|
class AutotestGatherer(TableFormatter): |
|
|
|
def __init__(self): |
|
self.runs = [] |
|
TableFormatter.__init__(self) |
|
|
|
def GetFormattedMainTable(self, percents_only, fit_string): |
|
ret = '' |
|
table = self.GetTableValues() |
|
ret += self.GetTableLabels(table) |
|
ret += self.GetFormattedTable(table, |
|
percents_only=percents_only, |
|
fit_string=fit_string) |
|
return ret |
|
|
|
def GetFormattedSummaryTable(self, percents_only, fit_string): |
|
ret = '' |
|
table = self.GetTableValues() |
|
summary_table = self.GetSummaryTableValues(table) |
|
ret += self.GetTableLabels(summary_table) |
|
ret += self.GetFormattedTable(summary_table, |
|
percents_only=percents_only, |
|
fit_string=fit_string) |
|
return ret |
|
|
|
def GetBenchmarksString(self): |
|
ret = 'Benchmarks (in order):' |
|
ret = '\n'.join(self.GetAllBenchmarks()) |
|
return ret |
|
|
|
def GetAllBenchmarks(self): |
|
all_benchmarks = [] |
|
for run in self.runs: |
|
for key in run.results.keys(): |
|
if key not in all_benchmarks: |
|
all_benchmarks.append(key) |
|
all_benchmarks.sort() |
|
return all_benchmarks |
|
|
|
def GetTableValues(self): |
|
table = [] |
|
row = [] |
|
|
|
row.append('Benchmark') |
|
for i in range(len(self.runs)): |
|
run = self.runs[i] |
|
label = run.GetLabel() |
|
label = self.GetLabelWithIteration(label, run.iteration) |
|
row.append(label) |
|
table.append(row) |
|
|
|
all_benchmarks = self.GetAllBenchmarks() |
|
for benchmark in all_benchmarks: |
|
row = [] |
|
row.append(benchmark) |
|
for run in self.runs: |
|
results = run.results |
|
if benchmark in results: |
|
row.append(results[benchmark]) |
|
else: |
|
row.append('') |
|
table.append(row) |
|
|
|
return table
|
|
|