Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

292 lines (262 sloc) 9.38 kb
<!DOCTYPE html>
<html>
<head><title>Reports Overview - CL Test Grid</title>
<style type="text/css">
body {
width: 45em;
margin-left: auto;
margin-right: auto;
}
h1 a {
text-decoration: none;
}
.test-table {
border-spacing: 0px;
}
.test-table td {
font-weight: bold;
border-color: black;
}
.test-table .ok {
color: green;
}
.test-table .fail {
color: red;
}
.test-table .no-resource {
color: gray;
}
.test-table td {
padding: 3px;
}
table.links-to-pivots td {
padding: 4px 6px;
text-align: center;
}
.links-to-pivots table {
display: inline-table;
border-width: 2px 1px 1px 2px; /* right and bottom are
1px because TH also has 1px
at these sides and together
they form 2px
*/
border-style: solid;
border-color: #0000EE;
border-spacing: 0;
color: #0000EE;
}
.links-to-pivots table td, .links-to-pivots table th{
border: solid #0000EE;
border-width: 0 1px 1px 0;
padding: 2px 0.5ex;
text-align: left;
font-weight: bold;
}
.links-to-pivots a {
text-decoration: none;
}
</style>
<script type="text/javascript" id="js">
/**
* IE, unlike other browsers, doesn't support
* tables (even with style "display: inline-table",
* even in HTML5) inside the <A> tag. We fix this
* by providing javascript onclick handler for the
* tables; the handler delegates the click to the
* first found parent <A> element.
*/
function ieTableAnchorFix(table) {
if (navigator.userAgent.indexOf('MSIE') >= 0) {
var parent = table.parentNode;
while (parent && String(parent.nodeName).toUpperCase() != 'A') {
parent = parent.parentNode;
}
if (parent) {
parent.click();
}
return false;
} else {
return true;
}
}
</script>
</head>
<body>
<h1><a href="http://github.com/cl-test-grid/cl-test-grid">CL Test Grid</a> Reports Overview</h1>
<h3> Pivot Reports </h3>
<p>Pivot reports allow us to summarize all the test results
into 2-dimensional tables.</p>
<p>For illustration:</p>
<table border="1" align="center" class="test-table">
<tr>
<td>&nbsp;</td><td>&nbsp;</td><td>sbcl-1-win</td><td>sbcl-1-linux</td><td>clisp-win</td>
</tr>
<tr>
<td rowspan="3">quicklisp distro 1</td><td>flexi-stream</td><td class="ok">ok</td><td class="fail">fail</td><td class="ok">ok</td>
</tr>
<tr>
<td>drakma</td><td class="fail">fail</td><td class="ok">ok</td><td class="no-resource">no-resource</td>
</tr>
<tr>
<td>babel</td><td class="ok">ok</td><td class="ok">ok</td><td class="fail">fail</td>
</tr>
<tr>
<td rowspan="3">quicklisp distro 2</td><td>flexi-stream</td><td class="ok">ok</td><td class="fail">fail</td><td class="ok">ok</td>
</tr>
<tr>
<td>drakma</td><td class="fail">fail</td><td class="ok">ok</td><td class="no-resource">no-resource</td>
</tr>
<tr>
<td>babel</td><td class="ok">ok</td><td class="ok">ok</td><td class="fail">fail</td>
</tr>
<tr>
<td rowspan="3">quicklisp distro 3</td><td>flexi-stream</td><td class="ok">ok</td><td class="fail">fail</td><td class="ok">ok</td>
</tr>
<tr>
<td>drakma</td><td class="fail">fail</td><td class="ok">ok</td><td class="no-resource">no-resource</td>
</tr>
<tr>
<td>babel</td><td class="ok">ok</td><td class="ok">ok</td><td class="fail">fail</td>
</tr>
</table>
<p>Depending on what fields we choose for rows and columns,
we have 12 possible combinations (the links are clickable):</p>
<table class="links-to-pivots" align="center">
<tr>
<td>
<a href="pivot_lib_ql-lisp.html">
<table onclick="return ieTableAnchorFix(this)">
<tr><td>&nbsp;</td><td>ql</td></tr>
<tr><td>&nbsp;</td><td>lisp</td></tr>
<tr><td>lib</td><td>&nbsp;</td></tr>
</table>
</a>
</td>
<td>
<a href="pivot_lib_lisp-ql.html">
<table onclick="return ieTableAnchorFix(this)">
<tr><td>&nbsp;</td><td>lisp</td></tr>
<tr><td>&nbsp;</td><td>ql</td></tr>
<tr><td>lib</td><td>&nbsp;</td></tr>
</table>
</a>
</td>
<td>
<a href="pivot_ql_lib-lisp.html">
<table onclick="return ieTableAnchorFix(this)">
<tr><td>&nbsp;</td><td>lib</td></tr>
<tr><td>&nbsp;</td><td>lisp</td></tr>
<tr><td>ql</td><td>&nbsp;</td></tr>
</table>
</a>
</td>
<td>
<a href="pivot_ql_lisp-lib.html" >
<table onclick="return ieTableAnchorFix(this)">
<tr><td>&nbsp;</td><td>lisp</td></tr>
<tr><td>&nbsp;</td><td>lib</td></tr>
<tr><td>ql</td><td>&nbsp;</td></tr>
</table>
</a>
</td>
<td>
<a href="pivot_lisp_lib-ql.html">
<table onclick="return ieTableAnchorFix(this)">
<tr><td>&nbsp;</td><td>lib</td></tr>
<tr><td>&nbsp;</td><td>ql</td></tr>
<tr><td>lisp</td><td>&nbsp;</td></tr>
</table>
</a>
</td>
<td>
<a href="pivot_lisp_ql-lib.html">
<table onclick="return ieTableAnchorFix(this)">
<tr><td>&nbsp;</td><td>ql</td></tr>
<tr><td>&nbsp;</td><td>lib</td></tr>
<tr><td>lisp</td><td>&nbsp;</td></tr>
</table>
</a>
</td>
</tr>
<tr>
<td>
<a href="pivot_lib-ql_lisp.html">
<table onclick="return ieTableAnchorFix(this)">
<tr><td>&nbsp;</td><td>&nbsp;</td><td>lisp</td></tr>
<tr><td>lib</td><td>ql</td><td>&nbsp;</td></tr>
</table>
</a>
</td>
<td>
<a href="pivot_lib-lisp_ql.html">
<table onclick="return ieTableAnchorFix(this)">
<tr><td>&nbsp;</td><td>&nbsp;</td><td>ql</td></tr>
<tr><td>lib</td><td>lisp</td><td>&nbsp;</td></tr>
</table>
</a>
</td>
<td>
<a href="pivot_ql-lib_lisp.html">
<table onclick="return ieTableAnchorFix(this)">
<tr><td>&nbsp;</td><td>&nbsp;</td><td>lisp</td></tr>
<tr><td>ql</td><td>lib</td><td>&nbsp;</td></tr>
</table>
</a>
</td>
<td>
<a href="pivot_ql-lisp_lib.html">
<table onclick="return ieTableAnchorFix(this)">
<tr><td>&nbsp;</td><td>&nbsp;</td><td>lib</td></tr>
<tr><td>ql</td><td>lisp</td><td>&nbsp;</td></tr>
</table>
</a>
</td>
<td>
<a href="pivot_lisp-lib_ql.html">
<table onclick="return ieTableAnchorFix(this)">
<tr><td>&nbsp;</td><td>&nbsp;</td><td>ql</td></tr>
<tr><td>lisp</td><td>lib</td><td>&nbsp;</td></tr>
</table>
</a>
</td>
<td>
<a href="pivot_lisp-ql_lib.html">
<table onclick="return ieTableAnchorFix(this)">
<tr><td>&nbsp;</td><td>&nbsp;</td><td>lib</td></tr>
<tr><td>lisp</td><td>ql</td><td>&nbsp;</td></tr>
</table>
</a>
</td>
</tr>
</table>
<h3>Quicklisp Test Diff</h3>
<p>The <a href="quicklisp-diff-old.html">Quicklisp Test Diff</a>
presents changes in test results between consecutive Quicklisp distro
versions: regressions (new failures) and improvement (falures that
were present in older Quicklisp version, but have gone in the newer version).</p>
<h3>Test Runs Report</h3>
<p>The <a href="test-runs-report.html">Test Runs Report</a> is a table where
every test run is represented by a row. Columns include test run description
(lisp implementation, quicklisp distro, user contact, etc.) + a column for
every library test status (ok/fail) linked to the corresponding library test log.</p>
<h3>CSV Export</h3>
<p>The full database dump to a <a href="export.csv">CSV file</a> may be used to
import the test results into Excel, Open Office Calc, Google Spreadsheet, or
other data analisys software.</p>
<h3>Lisp Data</h3>
<p>All the above reports where generated from Common Lisp data contained in the
<a href="https://raw.github.com/cl-test-grid/cl-test-grid/master/db.lisp">db.lisp</a>
file.
The format is a simple list which may be read by a single <tt>read</tt> call.</p>
<p>For convenience, use <tt>(test-grid:read-db)</tt> if you have the sources
checked out, or this code otherwise:
<pre>
(with-open-file (in <a href="https://raw.github.com/cl-test-grid/cl-test-grid/master/db.lisp">#P"db.lisp"</a>
:direction :input
:element-type 'character)
(with-standard-io-syntax
(let ((*read-eval* nil))
(read in)))))))
</pre>
</body>
</html>
Jump to Line
Something went wrong with that request. Please try again.