On Wed, Sep 7, 2016 at 10:55 AM, Geoffrey Sneddon <m...@gsnedders.com> wrote: >> >> However I think you might make progress with some sort of >> consensus-based approach e.g. take a testcase and render it in >> gecko/blink/webkit/edge. If the difference by some metric (e.g. number >> of differing pixels, although more sophisticated approaches are >> possible) is within some threshold then check whether servo is within >> the same threshold. If it is consider that a pass otherwise a fail. > > FWIW, I was talking with a bunch of people in the Chrome team about such > an oracle not that long ago. I think one can almost certainly come up > with a useful oracle even though it'll have very real limitations. > > There are plenty of rendering bugs that don't involve text, and > practically if you're generating arbitrary web pages it's easy to solve > all of those problems by simply not including text (though you'll need > to give boxes explicit heights!). Even if you allow text, you can > probably get a long way by simply getting rid of all text and setting > explicit width/height properties on everything such that the layout of > the boxes doesn't change even if they're then empty. You can then > compare the position of the box across browsers.
Along those lines, it's also worth looking at the very recent awesome work at the University of Washington formalizing layout (upcoming paper at OOPSLA): http://cassius.uwplse.org/ I've been in contact with them with the hopes of trying it out in the context of Servo, as I believe there are both some interesting testing applications and some really nifty things that we could do with devtools using such a tool, too. - Lars _______________________________________________ dev-servo mailing list dev-servo@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-servo