On 02/09/13 14:40, Simon Sapin wrote:
Le 02/09/2013 13:04, Sanghyeon Seo a écrit :
Servo can now run some of tests in Official W3C CSS Test Suites.
http://www.w3.org/Style/CSS/Test/

For example, clear-001, 002, 003, 005 pass, and clear-004 fails
because of
paint order (#677).

I would like to integrate passing tests to Servo. What would be the
best way
to do so?

Unfortunately (at least for the CSS 2.1 test suite), very few of these
tests are reftests that can be automated. Most of them require human
confirmation, which is just not viable IMO.

I think it is more valuable to spend time on importing reftests, both
from W3C and Gecko.


In general the best source of cross-browser tests is [1] (for CSS) and [2] (for the rest of the web platform, excluding JS). These are designed to work without special magic browser-internal APIs and as such should work on servo as soon as it supports the relevant features.

The testing work for servo should be focused on getting the automatable parts of those testsuites running. This includes anything in web-platform-tests not marked -manual (or at least will once I fix up the whole repository to match the convention) and almost all of the css3 tests in csswg-test. Actually automating the tests may require some work on the ability to drive servo externally. For example if one can inject script from an external process and return data to that process it is sufficient to run all the javascript-based tests. Alternatively, the same goal could be met by a way to load urls and a special API for writing to stdout. If one can navigate to a particular URL and discover when that load finished (possibly by injecting script, as before), that is sufficient to run the reftests (one can always use an external screenshot API rather than cloning the gecko approach of using extensions to canvas, and indeed this has a number of advantages).

It should also be a goal that any new tests *written* for servo but not testing the servo internals end up in these repositories rather than in some servo-specific collection of tests. Fragmentation of testsuites is a major impediment to interoperability between browsers. The greenfield implementation of the platform in Servo provides a great opportunity to find holes in the parts where others are afraid to make changes. Turning this implementation experience into testcases is a unique opportunity to find and fix holes in the specs, and create an environment where everyone is confident that following the spec and passing the related tests will lead to web-compatible results.

[1] https://github.com/w3c/csswg-test
[2] https://github.com/w3c/web-platform-tests
_______________________________________________
dev-servo mailing list
dev-servo@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-servo

Reply via email to