Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Proposal: support multiple <meta name="fuzzy"> #164

Open
nt1m opened this issue Sep 19, 2023 · 2 comments
Open

Proposal: support multiple <meta name="fuzzy"> #164

nt1m opened this issue Sep 19, 2023 · 2 comments

Comments

@nt1m
Copy link
Member

nt1m commented Sep 19, 2023

The motivation for this is that different browsers might show fuzziness in different ways, some with low maxDifference but high totalPixels (0-50, 0-400), some being the opposite (0-100, 0-50).

When that is the case, multiple fuzzy annotations can be useful, to avoid ending up in the situation where you have to use the maximum in all browsers (0-100, 0-400), which isn't super ideal.

@gsnedders gsnedders transferred this issue from web-platform-tests/wpt Sep 19, 2023
@gsnedders
Copy link
Member

c.f. web-platform-tests/wpt#7543 for where we originally added support

web-platform-tests/wpt#7543 (comment) is probably relevant to the original design here:

If some form of fuzziness is introduced, I think it needs to be specified per-engine.

Some engine implementations may know that they expect pixel perfect (or near) results for a test, and wouldn't want to have fuzziness added due to implementation details of a different engine.

In terms of specifying fuzziness, even just per-engine isn't enough. For example, Gecko can specify that fuzziness only occurs on a certain platform, or if a certain preference is enabled.

Instead, it seems like it should be possible to specify a string (or similar) per-engine that is interpreted by the reftest harness for that engine, allowing each engine to customize how it specifies fuzziness.

Except with wpt.fyi we don't have that per-engine expectation data, thus we've increasingly been putting the metadata into the test itself.

@jgraham
Copy link
Contributor

jgraham commented Sep 19, 2023

I mean one could have something like maxDifference=0-50;totalPixels=0-400;condition='product == "firefox" and os == "win" and debug' but architecturally getting access to the condition parsing and evaluation code inside wptrunner would be somewhat challenging.

Just allowing any of multiple annotations to apply is easier of course.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants