removed iframes and templatized

This commit is contained in:
2010-04-13 14:48:16 -07:00
parent 9e8961abf1
commit 74be39a565
15 changed files with 185 additions and 151 deletions

View File

@@ -0,0 +1,113 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Topfails</title>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
<style type="text/css">
/*----------Text Styles----------*/
.ws6 {font-size: 8px;}
.ws7 {font-size: 9.3px;}
.ws8 {font-size: 11px;}
.ws9 {font-size: 12px;}
.ws10 {font-size: 13px;}
.ws11 {font-size: 15px;}
.ws12 {font-size: 16px;}
.ws14 {font-size: 19px;}
.ws16 {font-size: 21px;}
.ws18 {font-size: 24px;}
.ws20 {font-size: 27px;}
.ws22 {font-size: 29px;}
.ws24 {font-size: 32px;}
.ws26 {font-size: 35px;}
.ws28 {font-size: 37px;}
.ws36 {font-size: 48px;}
.ws48 {font-size: 64px;}
.ws72 {font-size: 96px;}
.wpmd {font-size: 13px;font-family: 'Arial';font-style: normal;font-weight: normal;}
/*----------Para Styles----------*/
DIV,UL,OL /* Left */
{
margin-top: 0px;
margin-bottom: 0px;
}
</style>
<script language="javascript" type="text/javascript">
<!--
function SwapImgRestore() {
var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}
function PreloadImages() {
var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
var i,j=d.MM_p.length,a=PreloadImages.arguments; for(i=0; i<a.length; i++)
if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}
function FindObject(n, d) {
var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=FindObject(n,d.layers[i].document);
if(!x && d.getElementById) x=d.getElementById(n); return x;
}
function SwapImage() {
var i,j=0,x,a=SwapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
if ((x=FindObject(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
//-->
</script>
<script type="text/javascript">
<!--
function MyTip(arg)
{
switch(arg)
{
case "trunk":
alert("Press this button to get the Tinderbox Topfails for Firefox Trunk");
case "3.6":
alert("Press this button to get the Tinderbox Topfails for Firefox 3.6");
case "thunderbird":
alert("Press this button to get the Tinderbox Topfails for Thunderbird Trunk");
case "sea":
alert("Press this button to get the Tinderbox Topfails for SeaMonkey");
}
}
//-->
</script>
</head>
<body>
<div id="nav10d" style="position:absolute; left:3px; top:102px; z-index:0"><a onMouseOut="SwapImgRestore()" onMouseOver="SwapImage('nav10','','http://people.mozilla.com/~mnandigama/images/nav11363110a.gif',1)" href="latest" <img name="nav10" onLoad="PreloadImages('http://people.mozilla.com/~mnandigama/images/nav11363110a.gif')" alt="" border=0 src="http://people.mozilla.com/~mnandigama/images/nav11363110i.gif"></a></div>
<div id="nav11d" style="position:absolute; left:3px; top:135px; z-index:0"><a onMouseOut="SwapImgRestore()" onMouseOver="SwapImage('nav11','','http://people.mozilla.com/~mnandigama/images/nav11363111a.gif',1)" href="topfails"><img name="nav11" onLoad="PreloadImages('http://people.mozilla.com/~mnandigama/images/nav11363111a.gif')" alt="" border=0 src="http://people.mozilla.com/~mnandigama/images/nav11363111i.gif"></a></div>
<div id="nav12d" style="position:absolute; left:3px; top:168px; z-index:0"><a onMouseOut="SwapImgRestore()" onMouseOver="SwapImage('nav12','','http://people.mozilla.com/~mnandigama/images/nav11363112a.gif',1)" href="tests"><img name="nav12" onLoad="PreloadImages('http://people.mozilla.com/~mnandigama/images/nav11363112a.gif')" alt="" border=0 src="http://people.mozilla.com/~mnandigama/images/nav11363112i.gif"></a></div>
<div id="nav13d" style="position:absolute; left:3px; top:201px; z-index:0"><a onMouseOut="SwapImgRestore()" onMouseOver="SwapImage('nav13','','http://people.mozilla.com/~mnandigama/images/nav11363113a.gif',1)" href="failswindow?window=7d"><img name="nav13" onLoad="PreloadImages('http://people.mozilla.com/~mnandigama/images/nav11363113a.gif')" alt="" border=0 src="http://people.mozilla.com/~mnandigama/images/nav11363113i.gif"></a></div>
<div id="nav14d" style="position:absolute; left:3px; top:234px; z-index:0"><a onMouseOut="SwapImgRestore()" onMouseOver="SwapImage('nav14','','http://people.mozilla.com/~mnandigama/images/nav11363114a.gif',1)" href="Help"><img name="nav14" onLoad="PreloadImages('http://people.mozilla.com/~mnandigama/images/nav11363114a.gif')" alt="" border=0 src="http://people.mozilla.com/~mnandigama/images/nav11363114i.gif"></a></div>
<div id="image1" style="position:absolute; overflow:hidden; left:3px; top:1px; width:179px; height:68px; z-index:1"><img src="http://people.mozilla.com/~mnandigama/images/logo-wordmark.png" alt="" title="" border=0 width=179 height=68></div>
<div id="text1" style="position:absolute; overflow:hidden; left:351px; top:2px; width:491px; height:41px; z-index:3">
<div class="wpmd">
<div><font color="#CC4200" face="Tahoma" class="ws24"><B>Mozilla Tinderbox Topfails Dashboard</B></font></div>
</div></div>
<div id="nav20d" style="position:absolute; left:311px; top:45px; z-index:2"><a onMouseOut="SwapImgRestore()" onMouseOver="SwapImage('nav20','','http://people.mozilla.com/~mnandigama/images/nav14052410a.gif',1)" title="Click for Firefox Trunk Topfails Dashboard" href="#" ><img name="nav20" onLoad="PreloadImages('http://people.mozilla.com/~mnandigama/images/nav14052410a.gif')" alt="" border=0 src="http://people.mozilla.com/~mnandigama/images/nav14052410i.gif"></a></div>
<div id="nav21d" style="position:absolute; left:439px; top:45px; z-index:2"><a onMouseOut="SwapImgRestore()" onMouseOver="SwapImage('nav21','','http://people.mozilla.com/~mnandigama/images/nav14052411a.gif',1)" href="#"><img name="nav21" onLoad="PreloadImages('http://people.mozilla.com/~mnandigama/images/nav14052411a.gif')" title="Click for Firefox 3.6 Topfails Dashboard" alt="" border=0 src="http://people.mozilla.com/~mnandigama/images/nav14052411i.gif"></a></div>
<div id="nav22d" style="position:absolute; left:567px; top:45px; z-index:2"><a onMouseOut="SwapImgRestore()" onMouseOver="SwapImage('nav22','','http://people.mozilla.com/~mnandigama/images/nav14052412a.gif',1)" title="Click for Thunderbird Trunk Topfails Dashboard" href="#"><img name="nav22" onLoad="PreloadImages('http://people.mozilla.com/~mnandigama/images/nav14052412a.gif')" alt="" border=0 src="http://people.mozilla.com/~mnandigama/images/nav14052412i.gif"></a></div>
<div id="nav23d" style="position:absolute; left:695px; top:45px; z-index:2"><a onMouseOut="SwapImgRestore()" onMouseOver="SwapImage('nav23','','http://people.mozilla.com/~mnandigama/images/nav14052413a.gif',1)" title="Click for SeaMonkey Topfails Dashboard" href="#"><img name="nav23" onLoad="PreloadImages('http://people.mozilla.com/~mnandigama/images/nav14052413a.gif')" alt="" border=0 src="http://people.mozilla.com/~mnandigama/images/nav14052413i.gif"></a></div>
<div id="text2" style="position:absolute; overflow:hidden; left:190px; top:102px; width:800px; z-index:4">
{% block content %}
{% endblock %}
</div>
</body>
</html>

View File

@@ -1,45 +1,5 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Help</title>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
<style type="text/css">
/*----------Text Styles----------*/
.ws6 {font-size: 8px;}
.ws7 {font-size: 9.3px;}
.ws8 {font-size: 11px;}
.ws9 {font-size: 12px;}
.ws10 {font-size: 13px;}
.ws11 {font-size: 15px;}
.ws12 {font-size: 16px;}
.ws14 {font-size: 19px;}
.ws16 {font-size: 21px;}
.ws18 {font-size: 24px;}
.ws20 {font-size: 27px;}
.ws22 {font-size: 29px;}
.ws24 {font-size: 32px;}
.ws26 {font-size: 35px;}
.ws28 {font-size: 37px;}
.ws36 {font-size: 48px;}
.ws48 {font-size: 64px;}
.ws72 {font-size: 96px;}
.wpmd {font-size: 13px;font-family: 'Arial';font-style: normal;font-weight: normal;}
/*----------Para Styles----------*/
DIV,UL,OL /* Left */
{
margin-top: 0px;
margin-bottom: 0px;
}
</style>
</head>
<body>
<div id="text1" style="position:absolute; overflow:hidden; left:26px; top:15px; width:870px; height:631px; z-index:0">
<div class="wpmd">
{% extends "base.html" %}
{% block content %}
<div><font face="Calibri" class="ws11">This web site provides the bird eye view of top failures and other details of Firefox unit tests&nbsp; from the&nbsp; Tinderbox daily runs.</font></div>
<div><font face="Calibri" class="ws11"><BR></font></div>
<div><font face="Calibri" class="ws11">Meaning of the Left navigation links</font></div>
@@ -58,7 +18,4 @@ DIV,UL,OL /* Left */
<div style="margin-left:40px;"><font face="Calibri" class="ws11">Example queries for advanced users <a href="failswindow?window=2d">2 days failures</a></div>
<div style="margin-left:40px;"><font face="Calibri" class="ws11">Example queries for advanced users <a href="failswindow?window=24h">24 hours failures</a></div>
<div style="margin-left:40px;"><font face="Calibri" class="ws11">Example queries for advanced users <a href="failswindow?window=1m">1 month failures</a></div>
</div></div>
</body>
</html>
{% endblock %}

View File

@@ -1,6 +1,9 @@
<h1>Changeset {{ changeset }}</h1>
{% extends "base.html" %}
{% block content %}
<h3>Changeset {{ changeset }}</h3>
<ul>
{% for build in builds %}
<li>{{ build.tree }}: {{ build.get_os_display }}: {{ build.get_status_display }}</li>
{% endfor %}
</ul>
{% endblock %}

View File

@@ -1,6 +1,9 @@
<h1>Changesets</h1>
{% extends "base.html" %}
{% block content %}
<h3>Changesets</h3>
<ul>
{% for c in changesets %}
<li><a href="{% url viewer.views.changeset c %}">{{ c }}</a></li>
{% endfor %}
</ul>
{% endblock %}

View File

@@ -1,7 +1,10 @@
<h1>Failed tests from last {{n}} {{d}} up to now</h1>
{% extends "base.html" %}
{% block content %}
<h3>Failed tests from last {{n}} {{d}} up to now</h3>
<table>
<tr><th>Count</th><th align="left">Test name</th></tr>
{% for f in failures %}
<tr><td>{{ f.0 }}</td><td><a href="{% url viewer.views.test %}?name={{ f.1 }}">{{ f.1 }}</a></td></tr>
{% endfor %}
</table>
{% endblock %}

View File

@@ -1,96 +1,15 @@
<head>
{% extends "base.html" %}
{% block content %}
<style type="text/css">
/*----------Text Styles----------*/
.ws6 {font-size: 8px;}
.ws7 {font-size: 9.3px;}
.ws8 {font-size: 11px;}
.ws9 {font-size: 12px;}
.ws10 {font-size: 13px;}
.ws11 {font-size: 15px;}
.ws12 {font-size: 16px;}
.ws14 {font-size: 19px;}
.ws16 {font-size: 21px;}
.ws18 {font-size: 24px;}
.ws20 {font-size: 27px;}
.ws22 {font-size: 29px;}
.ws24 {font-size: 32px;}
.ws26 {font-size: 35px;}
.ws28 {font-size: 37px;}
.ws36 {font-size: 48px;}
.ws48 {font-size: 64px;}
.ws72 {font-size: 96px;}
.wpmd {font-size: 13px;font-family: 'Arial';font-style: normal;font-weight: normal;}
/*----------Para Styles----------*/
DIV,UL,OL /* Left */
{
margin-top: 0px;
margin-bottom: 0px;
}
</style>
<script language="JavaScript1.4" type="text/javascript">
<!--
function jsPlay(soundobj) {
var thissound= eval("document."+soundobj);
try {
thissound.Play();
}
catch (e) {
thissound.DoPlay();
}
}
//-->
</script>
<script language="javascript" type="text/javascript">
<!--
function MM_swapImgRestore() {
var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}
function MM_preloadImages() {
var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}
function MM_findObj(n, d) {
var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
if(!x && d.getElementById) x=d.getElementById(n); return x;
}
function MM_swapImage() {
var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
//-->
</script>
</head>
<body>
<div id="nav10d" style="position:absolute; left:5px; top:80px; z-index:0"><a onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('nav10','','http://people.mozilla.com/~mnandigama/images/nav12971480a.gif',1)" href="latest" target="iFrame1"><img name="nav10" onLoad="MM_preloadImages('http://people.mozilla.com/~mnandigama/images/nav12971480a.gif')" alt="" border=0 src="http://people.mozilla.com/~mnandigama/images/nav12971480i.gif"></a></div>
<div id="nav11d" style="position:absolute; left:5px; top:113px; z-index:0"><a onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('nav11','','http://people.mozilla.com/~mnandigama/images/nav12971481a.gif',1)" href="topfails" target="iFrame1"><img name="nav11" onLoad="MM_preloadImages('http://people.mozilla.com/~mnandigama/images/nav12971481a.gif')" alt="" border=0 src="http://people.mozilla.com/~mnandigama/images/nav12971481i.gif"></a></div>
<div id="nav12d" style="position:absolute; left:5px; top:146px; z-index:0"><a onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('nav12','','http://people.mozilla.com/~mnandigama/images/nav12971482a.gif',1)" href="tests" target="iFrame1"><img name="nav12" onLoad="MM_preloadImages('http://people.mozilla.com/~mnandigama/images/nav12971482a.gif')" alt="" border=0 src="http://people.mozilla.com/~mnandigama/images/nav12971482i.gif"></a></div>
<div id="nav13d" style="position:absolute; left:5px; top:179px; z-index:0"><a onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('nav13','','http://people.mozilla.com/~mnandigama/images/nav12971483a.gif',1)" href="failswindow?window=7d" target="iFrame1"><img name="nav13" onLoad="MM_preloadImages('http://people.mozilla.com/~mnandigama/images/nav12971483a.gif')" alt="" border=0 src="http://people.mozilla.com/~mnandigama/images/nav12971483i.gif"></a></div>
<div id="nav14d" style="position:absolute; left:5px; top:212px; z-index:0"><a onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('nav14','','http://people.mozilla.com/~mnandigama/images/nav12971484a.gif',1)" href="Help" target="iFrame1"><img name="nav14" onLoad="MM_preloadImages('http://people.mozilla.com/~mnandigama/images/nav12971484a.gif')" alt="" border=0 src="http://people.mozilla.com/~mnandigama/images/nav12971484i.gif"></a></div>
<div id="iFrame1" style="position:absolute; left:187px; top:69px; z-index:1">
<iframe name="iFrame1" width="870" height="1978" src="Help" scrolling="no" frameborder="0"></iframe>
</div>
<div id="text1" style="position:absolute; overflow:hidden; left:305px; top:11px; width:690px; height:90px; z-index:2">
<div class="wpmd">
<div><font color="#CC6600" style="font-familyr:Helvetica,sans-serif" class="ws20"><B>Firefox Central Tinderbox Topfails Dashboard</B></font></div>
</div></div>
<div id="image1" style="position:absolute; overflow:hidden; left:4px; top:15px; width:181px; height:61px; z-index:3"><img src="http://people.mozilla.com/~mnandigama/images/img5846075.png" alt="" title="" border=0 width=181 height=61></div>
</body>
li {
padding-bottom: 10px; }
</style>
<h3>Most recent test failures</h3>
<ul>
{% for f in failures %}
<li>{{ f.build.startdate|date:"Y-m-d H:i" }} {{ f.build.tree.name }} {{ f.build.get_os_display }}: <a href="{% url viewer.views.test %}?name={{ f.name }}">{{ f.name }}</a>,
<a href="{% url viewer.views.timeline %}?name={{ f.name }}">timeline</a>
- {{ f.description }}</li>
{% endfor %}
</ul>
{% endblock %}

View File

@@ -1,4 +1,10 @@
<h1>Most recent test failures</h1>
{% extends "base.html" %}
{% block content %}
<style type="text/css">
li {
padding-bottom: 10px; }
</style>
<h3>Most recent test failures</h3>
<ul>
{% for f in failures %}
<li>{{ f.build.startdate|date:"Y-m-d H:i" }} {{ f.build.tree.name }} {{ f.build.get_os_display }}: <a href="{% url viewer.views.test %}?name={{ f.name }}">{{ f.name }}</a>,
@@ -6,3 +12,4 @@
- {{ f.description }}</li>
{% endfor %}
</ul>
{% endblock %}

View File

@@ -1,4 +1,6 @@
<h1>Test results for {{ test }}</h1>
{% extends "base.html" %}
{% block content %}
<h3>Test results for {{ test }}</h3>
<ul>
<li style="display:none"><ul>
{% for f in failures %}{% ifchanged f.build.id %}</ul></li><li>
@@ -6,3 +8,4 @@
<ul>{% endifchanged %}
<li>{{ f.description }}</li>{% endfor %}
</ul>
{% endblock %}

View File

@@ -1,6 +1,14 @@
<h1>All known failing tests</h1>
{% extends "base.html" %}
{% block content %}
<style type="text/css">
li {
padding-bottom: 10px; }
</style>
<h3>All known failing tests</h3>
<ul>
{% for t in tests %}
<li><a href="{% url viewer.views.test %}?name={{ t }}">{{ t }}</a></li>
{% endfor %}
</ul>
{% endblock %}

View File

@@ -1,7 +1,10 @@
<h1>Top 25 failing tests</h1>
{% extends "base.html" %}
{% block content %}
<h3>Top 25 failing tests</h3>
<table>
<tr><th>Count</th><th align="left">Test name</th></tr>
{% for f in failures %}
<tr><td>{{ f.0 }}</td><td><a href="{% url viewer.views.test %}?name={{ f.1 }}">{{ f.1 }}</a></td></tr>
{% endfor %}
</table>
{% endblock %}

Binary file not shown.

View File

@@ -1,6 +1,9 @@
<h1>{{ tree }}</h1>
{% extends "base.html" %}
{% block content %}
<h3>{{ tree }}</h3>
<ul>
{% for build in newestbuilds %}
<li>{{ build.get_os_display }}: {{ build.get_status_display }}</li>
{% endfor %}
</ul>
{% endblock %}

View File

@@ -1,7 +1,10 @@
<h1>Trees</h1>
{% extends "base.html" %}
{% block content %}
<h3>Trees</h3>
<ul>
{% for tree in trees %}
<li><a href="{% url viewer.views.tree tree.name %}">{{ tree.name }}</a></li>
{% endfor %}
</ul>
{% endblock %}

View File

@@ -18,4 +18,5 @@ urlpatterns = patterns('unittestweb.viewer.views',
(r'^failswindow$','failswindow'),
(r'^latest$','latest'),
(r'^Help$','Help'),
(r'^base$','base'),
)

View File

@@ -9,6 +9,14 @@ def latest(request):
failures = get_list_or_404(Tests.objects.all().order_by('-build__starttime')[:10])
return render_to_response('viewer/latest.html', {'failures': failures})
def index(request):
failures = get_list_or_404(Tests.objects.all().order_by('-build__starttime')[:10])
return render_to_response('viewer/index.html', {'failures': failures})
def base(request):
return render_to_response('viewer/base.html')
def trees(request):
alltrees = Trees.objects.all().order_by('name')
return render_to_response('viewer/trees.html', {'trees': alltrees})