Unverified Commit bb037494 authored by boklm's avatar boklm
Browse files

Add a reports index page

parent 9ba8997a
Loading
Loading
Loading
Loading
+24 −0
Original line number Diff line number Diff line
@@ -334,6 +334,29 @@ sub make_report {
    }
}

sub make_reports_index {
    my $template = Template->new(
        ENCODING => 'utf8',
        INCLUDE_PATH => "$FindBin::Bin/tmpl",
        OUTPUT_PATH => $options->{'reports-dir'},
    );
    my %reports;
    foreach my $dir (glob "$options->{'reports-dir'}/*") {
        my $resfile = "$dir/results.yml";
        next unless -f $resfile;
        my (undef, undef, $name) = File::Spec->splitpath($dir);
        $reports{$name} = YAML::LoadFile($resfile);
        $reports{$name}->{time} = 1 unless $reports{$name}->{time};
    }
    my @reports_by_time =
        sort { $reports{$b}->{time} <=> $reports{$a}->{time} } keys %reports;
    my $vars = {
        reports => \%reports,
        reports_by_time => \@reports_by_time,
    };
    $template->process('reports_index.html', $vars, 'index.html');
}

sub test_tbb {
    my ($tbbfile, $sha256sum) = @_;
    my $oldcwd = getcwd;
@@ -377,3 +400,4 @@ YAML::DumpFile("$options->{'report-dir'}/results.yml",
        time    => time,
    });
make_report;
make_reports_index;
+50 −0
Original line number Diff line number Diff line
[% USE date -%]
<html>
    <head>
        <title>Tests reports</title>
        <style type="text/css">
            .test_ok {
                color: #006600;
                font-weight: bold;
            }
            .test_notok {
                color: #FF0000;
                font-weight: bold;
            }
            .test_notok A {
                color: #FF0000;
            }
            .reportdate {
                font-size: small;
            }
        </style>
    </head>
    <body>
        <h1>Tests Reports</h1>
        <table>
            <tr>
                <th>Name</th>
                <th>Date</th>
                <th>Result</th>
            </tr>
            [% FOREACH report IN reports_by_time %]
            <tr>
                <td valign="top"><a href="[% report %]/index.html">[% report %]</a></td>
                <td valign="top">[% date.format(reports.$report.time, '%Y-%m-%d %H:%M') %]</td>
                <td valign="top">
                    [% failed = 0 %]
                    [% FOREACH tbbfile IN reports.$report.results.keys %]
                      [% IF ! reports.$report.results.$tbbfile.success %]
                        <span class="test_notok">Failed: <a href="[% report %]/[% tbbfile %].html">[% tbbfile %]</a></span><br />
                        [% failed = 1 %]
                      [% END %]
                    [% END %]
                    [% IF failed == 0 %]
                      <span class="test_ok">OK</span>
                    [% END %]
                </td>
            </tr>
            [% END %]
        </table>
    </body>
</html>