blob: 82e311b66af97f0c93e062597ab4daf615b43ada [file] [log] [blame]
mblighf01eae12007-10-07 00:22:42 +00001#!/usr/bin/python
2print "Content-type: text/html\n"
3import cgi, cgitb, os, sys, re
4sys.stdout.flush()
5cgitb.enable()
6
7tko = os.path.dirname(os.path.realpath(os.path.abspath(sys.argv[0])))
8sys.path.insert(0, tko)
9import db, display, frontend
10
11db = db.db()
12
13def main():
mbligh1405f4e2007-11-05 19:26:23 +000014 display.print_main_header()
mblighf01eae12007-10-07 00:22:42 +000015
16 form = cgi.FieldStorage()
17 kernel_idx = form["kernel"].value
18 kernel = frontend.kernel.select(db, {'kernel_idx' : kernel_idx })[0]
19 groups = frontend.group.select(db)
20
21 print_kernel_groups_vs_tests(kernel, groups)
22
23
24def print_kernel_groups_vs_tests(kernel, groups):
25 # first we have to get a list of all run tests across all machines
26 all_tests = set()
mbligh84b9ff12007-11-26 20:51:57 +000027 present_groups = []
mblighf01eae12007-10-07 00:22:42 +000028 for group in groups:
mbligh84b9ff12007-11-26 20:51:57 +000029 tests = group.tests({ 'kernel_idx' : kernel.idx })
30 if tests:
31 present_groups.append(group)
32 for test in tests:
33 all_tests.add(test.testname)
mblighf01eae12007-10-07 00:22:42 +000034 all_tests = list(all_tests)
apw8fba91e2007-12-18 10:43:23 +000035 all_tests.sort()
mblighf01eae12007-10-07 00:22:42 +000036
37 print '<h1>%s</h1>' % kernel.printable
38
39 header_row = [ display.box('Test', header=True) ]
mbligh84b9ff12007-11-26 20:51:57 +000040 for group in present_groups:
mbligh8174ce32007-11-30 17:57:55 +000041 group_name = display.group_name(group)
mbligh84b9ff12007-11-26 20:51:57 +000042 header_row.append( display.box(group_name, header=True) )
mblighf01eae12007-10-07 00:22:42 +000043
44 matrix = [header_row]
45 for testname in all_tests:
mbligh55567022007-10-07 00:50:21 +000046 shortname = re.sub(r'kernel.', r'kernel<br>', testname)
47 row = [display.box(shortname)]
mbligh84b9ff12007-11-26 20:51:57 +000048 for group in present_groups:
mbligh55567022007-10-07 00:50:21 +000049 tests = group.tests({ 'kernel_idx' : kernel.idx ,
mbligh84b9ff12007-11-26 20:51:57 +000050 'test' : testname })
mbligh7e92b532007-10-07 01:37:02 +000051 link = 'machine_kernel_test.cgi?'
52 link += 'group=%s&kernel=%s&test=%s' % \
53 (group.name, kernel.idx, testname)
54 box = display.status_count_box(db, tests, link=link)
mblighf01eae12007-10-07 00:22:42 +000055 row.append(box)
56 matrix.append(row)
57 matrix.append(header_row)
58
59 display.print_table(matrix)
60
61main()