There have been a few recent changes related to wpt that may be of interest to a wider audience; for brevity I'm coalescing them into a single email:

* New wpt dashboard focused on interop problems
* Support for fuzzy annotations in reftests
* Better support for debugging failing reftests on wpt.fyi

== Interop Dashboard ==

https://jgraham.github.io/wptdash/ (url may change) is a dashboard intended to allow identifying web-platorm-test failures that present an web-compat risk.

By default it shows tests that are failing in Gecko but passing in Both Blink and WebKit, based on wpt.fyi runs of Firefox, Chrome and Safari. Tests are divided by bug component.

In addition it presents a summary of the in-tree metadata in expectation ini files to provide an overview of where tests are disabled in gecko, and various test problems that aren't visible in wpt.fyi data (e.g. leaks, or debug-only crashes).

There is upstream worked planned to add a system for annotating test results from wpt.fyi; this will allow us to associate each gecko-only failure with a bug and eventually to ensure that we triage all failures that look like interop issues.

Please let me know about any changes that would make the dashboard more useful to you.

== Fuzzy annotations available in wpt reftests ==

wpt has adopted a system to mark reftests as fuzzy. This is semantically identical to the system used by gecko reftests; the fuzziness annotation consists of two ranges; one for the number of pixels that may contain differences and one for the maximum difference in any colour channel.

In the case where the test is known to (possibly) be an inexact match in any configuration, the annotation may be put directly in the test file as a <meta name=fuzzy> element e.g.

<meta name=fuzzy content="maxDifference=10-15;totalPixels=300">

(note that as with the recent changes to reftests, this requires exactly 300 pixels different i.e. the implied range is 300-300 not 0-300).

More usually, however the fuzziness will be browser and configuration specific; in this case the annotation must be put in the wpt expectation ini file (i.e. the one under testing/web-platform/meta). In this case the basic syntax is:

[test.html]
  fuzzy: maxDifference=8;totalPixels=0-1

The "if" syntax used for configuration-specific expectations also works in this case.

In reftests involving multiple possible references or long chains of references it may be necessary to specify exactly which comparison requires the annotation or have multiple comparisons with different annotations. This can be done as in the example below:

[test.html]
  fuzzy: [ref1.html:maxDifference=8;totalPixels=0-1,
          ref2.html==ref3.html:maxDifference=4;totalPixels=0-2]

The first annotation in the list applies to any comparison involving ref1.html as the reference, the second only applies to the specific comparison ref2.html == ref3.html (all paths are resolved relative to the test).

More documentation is available at [1] and [2], the latter should obviously move somewhere more useful.

== Reftest Comparisons ==

Debugging wpt reftest failures should now be easier since, thanks to Chrome's ecosystem-infra team, wpt.fyi has gained reftest-analyzer like functionality. See [3] for an example. wpt.fyi shows links to the analyzer for all failing reftests [4]. Again, feedback about improvements to make this more useful is very much encouraged.


[1] https://web-platform-tests.org/writing-tests/reftests.html#fuzzy-matching [2] https://searchfox.org/mozilla-central/source/testing/web-platform/tests/tools/wptrunner/wptrunner/manifestexpected.py#102 [3] https://wpt.fyi/analyzer?screenshot=sha1%3A78ed15d1532e4134d8e3560c060538fd0b0a80d9&screenshot=sha1%3A5b8f16d25cb907619183b551c6b3e4d670991268 [4] https://wpt.fyi/results/css/css-backgrounds/background-image-first-line.html?label=master&label=experimental&product=chrome&product=firefox&product=safari
_______________________________________________
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform

Reply via email to