generate_report.py: always use the same order of hubs
This commit is contained in:
@@ -6,6 +6,9 @@ import glob
|
|||||||
|
|
||||||
REPO_URL = 'http://devel.ag-projects.com/~denis/cgi-bin/hgweb.cgi'
|
REPO_URL = 'http://devel.ag-projects.com/~denis/cgi-bin/hgweb.cgi'
|
||||||
|
|
||||||
|
hubs_order = ['selecthub', 'poll', 'selects', 'libev', 'twistedr/selectreactor',
|
||||||
|
'twistedr/pollreactor', 'twistedr/epollreactor']
|
||||||
|
|
||||||
def make_table(database):
|
def make_table(database):
|
||||||
c = sqlite3.connect(database)
|
c = sqlite3.connect(database)
|
||||||
res = c.execute(('select command_record.id, testname, hub, runs, errors, fails, '
|
res = c.execute(('select command_record.id, testname, hub, runs, errors, fails, '
|
||||||
@@ -26,7 +29,13 @@ def calc_hub_stats(table):
|
|||||||
test_result = table[testname][hub]
|
test_result = table[testname][hub]
|
||||||
hub_stats.setdefault(hub, TestResult(0,0,0,0)).__iadd__(test_result)
|
hub_stats.setdefault(hub, TestResult(0,0,0,0)).__iadd__(test_result)
|
||||||
hubs = hub_stats.items()
|
hubs = hub_stats.items()
|
||||||
hubs.sort(key=lambda t: (t[1].passed, -t[1].timeouts, -t[1].failed), reverse=True)
|
hub_names = sorted(hub_stats.keys())
|
||||||
|
def get_order(hub):
|
||||||
|
try:
|
||||||
|
return hubs_order.index(hub)
|
||||||
|
except ValueError:
|
||||||
|
return 100 + hub_names.index(hub)
|
||||||
|
hubs.sort(key=lambda (hub, stats): get_order(hub))
|
||||||
return hub_stats, [x[0] for x in hubs]
|
return hub_stats, [x[0] for x in hubs]
|
||||||
|
|
||||||
class TestResult:
|
class TestResult:
|
||||||
@@ -52,6 +61,10 @@ class TestResult:
|
|||||||
def total(self):
|
def total(self):
|
||||||
return self.runs + self.timeouts
|
return self.runs + self.timeouts
|
||||||
|
|
||||||
|
@property
|
||||||
|
def percentage(self):
|
||||||
|
return float(self.passed) / self.total
|
||||||
|
|
||||||
def __iadd__(self, other):
|
def __iadd__(self, other):
|
||||||
self.runs += other.runs
|
self.runs += other.runs
|
||||||
self.errors += other.errors
|
self.errors += other.errors
|
||||||
|
Reference in New Issue
Block a user