[webkit-dev] Increasing the number of cross-platform/port expected results
Tor Arne Vestbø
tor.arne.vestbo at nokia.com
Tue Feb 23 05:00:14 PST 2010
A reoccurring problem when trying to maintain layout-test results is
differences in font and theme metrics for tests that dump the render
tree. Often a test does not actually test font loading/rendering or
theming, but has a piece of text or an input element somewhere in the
test which causes the metrics in the render tree to be different, and
hence the test failing.
We're seeing this in the Qt port when results are checked in as
platform-independent and causing failures, or when we have to generate
platform-dependent results for new tests when the test looks cross-platform.
I also had this problem when trying to get a Windows build up and
running with 0 failing layout-tests, so that I could verify that I
didn't break anything before landing. Even after using various tricks to
get the same font setup as the buildbots I still had failures that
looked like they were due to font metrics .
Lately we've been playing with the idea of using SVG fonts for the Qt
port to get the same set of expected results for qt-mac, qt-linux and
qt-win, by injecting new @font-face rules using a user-stylesheet and
preventing platform-fonts from being loaded, but this approach/hack has
proven to be quite fragile, and we will also miss out on those tests
that actually test font loading/rendering.
Another approach would be to use a fixed set of metrics for text and
themes when running the DRT, unless the test specifically asks for real
font and theme metrics. We could for example add two additional
functions to the layout-test controller:
This would allow us to share render-tree results between all ports for
those tests that don't explicitly test font or theme rendering (unless I
missed more platform-differences).
Thoughts? Will this work? :)
Or, are there other ways we could achieve the same thing?
My worry is basically that the number of platform-specific-result will
not scale as the number of ports and platforms increases if we continue
to have all these "false positive" platform-specific-results that are
not really platform-specific.
More information about the webkit-dev