blob: fe8d005127739db41092ed15706b19569f7d3d75 [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():
14
15 form = cgi.FieldStorage()
16 kernel_idx = form["kernel"].value
17 kernel = frontend.kernel.select(db, {'kernel_idx' : kernel_idx })[0]
18 groups = frontend.group.select(db)
19
20 print_kernel_groups_vs_tests(kernel, groups)
21
22
23def print_kernel_groups_vs_tests(kernel, groups):
24 # first we have to get a list of all run tests across all machines
25 all_tests = set()
mblighf01eae12007-10-07 00:22:42 +000026 for group in groups:
mbligh55567022007-10-07 00:50:21 +000027 for test in group.tests({ 'kernel_idx' : kernel.idx }):
mblighf01eae12007-10-07 00:22:42 +000028 all_tests.add(test.subdir)
mblighf01eae12007-10-07 00:22:42 +000029 all_tests = list(all_tests)
30
31 print '<h1>%s</h1>' % kernel.printable
32
33 header_row = [ display.box('Test', header=True) ]
34 for group in groups:
mbligh55567022007-10-07 00:50:21 +000035 header_row.append( display.box(group.name, header=True) )
mblighf01eae12007-10-07 00:22:42 +000036
37 matrix = [header_row]
38 for testname in all_tests:
mbligh55567022007-10-07 00:50:21 +000039 shortname = re.sub(r'kernel.', r'kernel<br>', testname)
40 row = [display.box(shortname)]
mblighf01eae12007-10-07 00:22:42 +000041 for group in groups:
mbligh55567022007-10-07 00:50:21 +000042 tests = group.tests({ 'kernel_idx' : kernel.idx ,
43 'subdir' : testname })
44 box = display.status_count_box(db, tests)
mblighf01eae12007-10-07 00:22:42 +000045 row.append(box)
46 matrix.append(row)
47 matrix.append(header_row)
48
49 display.print_table(matrix)
50
51main()