blob: 3df8e79759e322a97da0a60ea846a0c9c6f615b6 [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()
mblighf01eae12007-10-07 00:22:42 +000027 for group in groups:
mbligh55567022007-10-07 00:50:21 +000028 for test in group.tests({ 'kernel_idx' : kernel.idx }):
mblighf01eae12007-10-07 00:22:42 +000029 all_tests.add(test.subdir)
mblighf01eae12007-10-07 00:22:42 +000030 all_tests = list(all_tests)
31
32 print '<h1>%s</h1>' % kernel.printable
33
34 header_row = [ display.box('Test', header=True) ]
35 for group in groups:
mbligh55567022007-10-07 00:50:21 +000036 header_row.append( display.box(group.name, header=True) )
mblighf01eae12007-10-07 00:22:42 +000037
38 matrix = [header_row]
39 for testname in all_tests:
mbligh55567022007-10-07 00:50:21 +000040 shortname = re.sub(r'kernel.', r'kernel<br>', testname)
41 row = [display.box(shortname)]
mblighf01eae12007-10-07 00:22:42 +000042 for group in groups:
mbligh55567022007-10-07 00:50:21 +000043 tests = group.tests({ 'kernel_idx' : kernel.idx ,
44 'subdir' : testname })
mbligh7e92b532007-10-07 01:37:02 +000045 link = 'machine_kernel_test.cgi?'
46 link += 'group=%s&kernel=%s&test=%s' % \
47 (group.name, kernel.idx, testname)
48 box = display.status_count_box(db, tests, link=link)
mblighf01eae12007-10-07 00:22:42 +000049 row.append(box)
50 matrix.append(row)
51 matrix.append(header_row)
52
53 display.print_table(matrix)
54
55main()