• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1{{/*
2Copyright 2017 syzkaller project authors. All rights reserved.
3Use of this source code is governed by Apache 2 LICENSE that can be found in the LICENSE file.
4*/}}
5
6{{/* Common page head part, invoked with *uiHeader */}}
7{{define "head"}}
8	<link rel="stylesheet" href="/static/style.css"/>
9	<script src="/static/common.js"></script>
10	{{if .AnalyticsTrackingID}}
11		<script async src="https://www.googletagmanager.com/gtag/js?id={{.AnalyticsTrackingID}}"></script>
12		<script>
13			window.dataLayer = window.dataLayer || [];
14			function gtag() { dataLayer.push(arguments); }
15			gtag('js', new Date());
16			gtag('config', '{{.AnalyticsTrackingID}}');
17		</script>
18	{{end}}
19{{end}}
20
21{{/* Common page header, invoked with *uiHeader */}}
22{{define "header"}}
23	<header id="topbar">
24		<table class="position_table">
25			<tr>
26				<td>
27					<h1><a href="/">syzbot</a></h1>
28				</td>
29				<td class="search">
30					{{if .LoginLink}}
31						<a href="{{.LoginLink}}">sign-in</a> |
32					{{end}}
33					<a href="https://groups.google.com/forum/#!forum/syzkaller" target="_blank">mailing list</a> |
34					<a href="https://github.com/google/syzkaller" target="_blank">source</a> |
35					<a href="https://github.com/google/syzkaller/blob/master/docs/syzbot.md" target="_blank">docs</a>
36				</td>
37			</tr>
38		</table>
39	</header>
40	<br>
41{{end}}
42
43{{/* List of bugs, invoked with *uiBugGroup */}}
44{{define "bug_list"}}
45{{if .}}
46{{if .Bugs}}
47<table class="list_table">
48	<caption id="{{.Fragment}}">{{$.Caption}}:</caption>
49	<tr>
50		{{if $.ShowNamespace}}
51			<th><a onclick="return sortTable(this, 'Kernel', textSort)" href="#">Kernel</a></th>
52		{{end}}
53		<th><a onclick="return sortTable(this, 'Title', textSort)" href="#">Title</a></th>
54		<th><a onclick="return sortTable(this, 'Repro', reproSort)" href="#">Repro</a></th>
55		<th><a onclick="return sortTable(this, 'Count', numSort)" href="#">Count</a></th>
56		<th><a onclick="return sortTable(this, 'Last', timeSort)" href="#">Last</a></th>
57		<th><a onclick="return sortTable(this, 'Reported', timeSort)" href="#">Reported</a></th>
58		{{if $.ShowPatch}}
59			<th><a onclick="return sortTable(this, 'Closed', timeSort)" href="#">Closed</a></th>
60			<th><a onclick="return sortTable(this, 'Patch', textSort)" href="#">Patch</a></th>
61		{{end}}
62		{{if $.ShowPatched}}
63			<th><a onclick="return sortTable(this, 'Patched', patchedSort)" href="#">Patched</a></th>
64		{{end}}
65		{{if $.ShowStatus}}
66			<th><a onclick="return sortTable(this, 'Status', textSort)" href="#">Status</a></th>
67		{{end}}
68	</tr>
69	{{range $b := .Bugs}}
70		<tr>
71			{{if $.ShowNamespace}}<td>{{$b.Namespace}}</td>{{end}}
72			<td class="title"><a href="{{$b.Link}}">{{$b.Title}}</a></td>
73			<td class="stat">{{formatReproLevel $b.ReproLevel}}</td>
74			<td class="stat {{if $b.NumCrashesBad}}bad{{end}}">{{$b.NumCrashes}}</td>
75			<td class="stat">{{formatLateness $.Now $b.LastTime}}</td>
76			<td class="stat">
77				{{if $b.ExternalLink}}
78					<a href="{{$b.ExternalLink}}">{{formatLateness $.Now $b.ReportedTime}}</a>
79				{{else}}
80					{{formatLateness $.Now $b.ReportedTime}}
81				{{end}}
82			</td>
83			{{if $.ShowPatch}}
84				<td class="stat">{{formatLateness $.Now $b.ClosedTime}}</td>
85				<td class="title" title="{{$b.Commits}}">{{$b.Commits}}</td>
86			{{end}}
87			{{if $.ShowPatched}}
88				<td class="patched" title="{{$b.Commits}}">{{if $b.Commits}}{{len $b.PatchedOn}}/{{$b.NumManagers}}{{end}}</td>
89			{{end}}
90			{{if $.ShowStatus}}
91				<td class="status">
92					{{if $b.ExternalLink}}
93						<a href="{{$b.ExternalLink}}">{{$b.Status}}</a>
94					{{else}}
95						{{$b.Status}}
96					{{end}}
97				</td>
98			{{end}}
99		</tr>
100	{{end}}
101</table>
102{{end}}
103{{end}}
104{{end}}
105