blob: 82e311b66af97f0c93e062597ab4daf615b43ada [file] [log] [blame]
#!/usr/bin/python
print "Content-type: text/html\n"
import cgi, cgitb, os, sys, re
sys.stdout.flush()
cgitb.enable()
tko = os.path.dirname(os.path.realpath(os.path.abspath(sys.argv[0])))
sys.path.insert(0, tko)
import db, display, frontend
db = db.db()
def main():
display.print_main_header()
form = cgi.FieldStorage()
kernel_idx = form["kernel"].value
kernel = frontend.kernel.select(db, {'kernel_idx' : kernel_idx })[0]
groups = frontend.group.select(db)
print_kernel_groups_vs_tests(kernel, groups)
def print_kernel_groups_vs_tests(kernel, groups):
# first we have to get a list of all run tests across all machines
all_tests = set()
present_groups = []
for group in groups:
tests = group.tests({ 'kernel_idx' : kernel.idx })
if tests:
present_groups.append(group)
for test in tests:
all_tests.add(test.testname)
all_tests = list(all_tests)
all_tests.sort()
print '<h1>%s</h1>' % kernel.printable
header_row = [ display.box('Test', header=True) ]
for group in present_groups:
group_name = display.group_name(group)
header_row.append( display.box(group_name, header=True) )
matrix = [header_row]
for testname in all_tests:
shortname = re.sub(r'kernel.', r'kernel<br>', testname)
row = [display.box(shortname)]
for group in present_groups:
tests = group.tests({ 'kernel_idx' : kernel.idx ,
'test' : testname })
link = 'machine_kernel_test.cgi?'
link += 'group=%s&kernel=%s&test=%s' % \
(group.name, kernel.idx, testname)
box = display.status_count_box(db, tests, link=link)
row.append(box)
matrix.append(row)
matrix.append(header_row)
display.print_table(matrix)
main()