We want the test names in the junit xml to be
unique across all the tests in a job, so we need
to include the backend in the test name.
And we also want to see the used backend in
the html report.
We should show all the possible result sections:
- passed
- skipped
- expected failures
- failures
- timed out
Even if we consider the first three to be successes.
My web design skills are terrible, but it's better than nothing; I'm
sure this will lead to somebody filing a merge request to make the
test report look a lot better.
While we're at it, let's include the reftest images inside the report
itself, so we don't have to hunt them down.
The JUnit cover report is useful, but only up to a point; for instance,
it's not used unless it's part of a merge request. This means you don't
get a report if you're pushing to a branch that does not have an MR open.
With a simple Python script and some minimal templating, we can generate
an HTML report from the "I Can't Believe it's not JSON™" log that Meson
produces, and keep it as a CI artifact.