[cairo] Javascript-based test table
Andrea Canciani
ranma42 at gmail.com
Thu Oct 7 14:35:49 PDT 2010
I just pushed to master the commits that replace the test table generated
by a perl script with a "static" index.html whose content is generated upon
load by a Javascript file that parses the logfiles (this also means that the
table can be examined while the test suite is running; in this case it will
only show the tests that completed before the page was loaded).
Please report any problems you notice.
In particular I'm not sure about:
- browser support (I tested it on Firefox 3.6 and Safari 4)
- performance (it parses all the logs when you load the page, which on my
new laptop is quite fast, but maybe on older hardware the delay is annoying)
- user interface (the table is generated dynamically and the structure and
what part should be shown can be changed at runtime, but I'm not sure if it
is obvious how to do it or at least usable).
In the commit message I explained the interface as much as possible, even the
parts that I didn't change. Here it is for reference:
commit f29e7d155f3a2ee75daf63719460348ea2ca0f76
Author: Andrea Canciani <ranma42 at gmail.com>
Date: Fri Aug 6 18:23:07 2010 +0200
test: Add a new test result html page
This page uses JavaScript to parse test log files and create the
test table according to the results. It also allows dynamic selection
and hiding of rows/columns based on a chosen parameter and table
structure change, by dragging a field from rows to columns and vice
versa.
Left click selects the cells with the chosen parameter-value association.
If these cells are exactly the only show cells, it hides them and shows
all the other ones, instead.
Right click inverts the visibility of the cells with the chosen
parameter-value association.
When some rows are hidden, the PASS/NEW/FAIL/XFAIL/CRASH counters show
both the currently shown test case count and the total count, if they are
different: "23[62]" means that there are 62 test case in that category,
but only 23 are currently visible.
Dragging a field from the row (or column) header to the column (or row)
header rebuilds the table to have that field along the columns (or rows),
updating PASS/NEW/FAIL/... counters and showing the whole table again.
Test names are hyperlinks to the test log.
Images are hyperlinks to themselves.
More information about the cairo
mailing list