[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

    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