WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED WONTFIX
137441
Add a test expectations file specific to W3C web platform tests
https://bugs.webkit.org/show_bug.cgi?id=137441
Summary
Add a test expectations file specific to W3C web platform tests
youenn fablet
Reported
2014-10-06 00:29:43 PDT
Ideally, W3C test expectations would be automatically computed each time the version of the web platform test suite is bumped or each time a new module of the web platform test suite is activated. Between bumps, test expectations would be manually edited by patches as currently done. To ease the automation of these test expectations, it may be desirable to create a separate file for them.
Attachments
Patch
(8.02 KB, patch)
2014-10-06 01:58 PDT
,
youenn fablet
no flags
Details
Formatted Diff
Diff
Moved W3C test expectations next to generic test expectations
(14.72 KB, patch)
2014-10-17 03:33 PDT
,
youenn fablet
no flags
Details
Formatted Diff
Diff
Show Obsolete
(1)
View All
Add attachment
proposed patch, testcase, etc.
youenn fablet
Comment 1
2014-10-06 00:30:57 PDT
Bug 134767
implements automatic test expectation update computed from conformance results, the update being based on a specific organization of test expectations: test expectations are grouped by submodules (more or less top-level directories of WPT folder).
youenn fablet
Comment 2
2014-10-06 01:58:04 PDT
Created
attachment 239320
[details]
Patch
Ryosuke Niwa
Comment 3
2014-10-15 13:41:13 PDT
Comment on
attachment 239320
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=239320&action=review
> Tools/Scripts/webkitpy/port/base.py:1032 > - return [self.path_to_generic_test_expectations_file()] + self._port_specific_expectations_files() > + return [self.path_to_generic_test_expectations_file()] + self._port_specific_expectations_files() + [self.path_to_w3c_expectations_file()]
I don't think W3C test expectations should override port specific test expectations. That would be super confusing.
> LayoutTests/imported/w3c/TestExpectationsW3C:1 > +#imported/w3c/wpt [ Skip ]
This expectation doesn't work because it starts with #. Does this really need to be at /w3c/? Can't we move it to imported/w3c/resources/wpt? If not, we can add it to the list of names we skip instead.
youenn fablet
Comment 4
2014-10-16 01:09:14 PDT
(In reply to
comment #3
)
> (From update of
attachment 239320
[details]
) > View in context:
https://bugs.webkit.org/attachment.cgi?id=239320&action=review
> > > Tools/Scripts/webkitpy/port/base.py:1032 > > - return [self.path_to_generic_test_expectations_file()] + self._port_specific_expectations_files() > > + return [self.path_to_generic_test_expectations_file()] + self._port_specific_expectations_files() + [self.path_to_w3c_expectations_file()] > > I don't think W3C test expectations should override port specific test expectations. > That would be super confusing.
Right. For port diverging results, handling may be done manually at first, one port (mac, mac-wk2?) being set as the baseline port. Introducing a specific W3C test expectation file per port may be useful to automate diverging results handling.
> > LayoutTests/imported/w3c/TestExpectationsW3C:1 > > +#imported/w3c/wpt [ Skip ] > > This expectation doesn't work because it starts with #.
The idea is to uncomment this expectation when doing the first WPT import. Removing # currently causes a warning because imported/w3c/wpt does not exist yet.
> Does this really need to be at /w3c/? Can't we move it to imported/w3c/resources/wpt? > If not, we can add it to the list of names we skip instead.
There is no particular constraint, except that putting it into w3c folder or any of its subfolder allows using the dedicated ChangeLog. I am fine with renaming it to imported/w3c/resources/wpt/TestExpectations
youenn fablet
Comment 5
2014-10-17 03:33:39 PDT
Created
attachment 240011
[details]
Moved W3C test expectations next to generic test expectations
Ryosuke Niwa
Comment 6
2014-10-17 22:46:05 PDT
(In reply to
comment #4
) >
> > > LayoutTests/imported/w3c/TestExpectationsW3C:1 > > > +#imported/w3c/wpt [ Skip ] > > > > This expectation doesn't work because it starts with #. > > The idea is to uncomment this expectation when doing the first WPT import. > Removing # currently causes a warning because imported/w3c/wpt does not > exist yet.
For what purpose?
youenn fablet
Comment 7
2014-10-18 02:25:19 PDT
(In reply to
comment #6
)
> (In reply to
comment #4
) > > > > > > LayoutTests/imported/w3c/TestExpectationsW3C:1 > > > > +#imported/w3c/wpt [ Skip ] > > > > > > This expectation doesn't work because it starts with #. > > > > The idea is to uncomment this expectation when doing the first WPT import. > > Removing # currently causes a warning because imported/w3c/wpt does not > > exist yet. > > For what purpose?
Document the scope/reason of this file between its initial check-in and the first import of WPT tests.
Ryosuke Niwa
Comment 8
2014-10-18 14:27:19 PDT
I don't understand why we need test expectations for newly imported tests. They should all pass because all expected results are generated from scratch.
youenn fablet
Comment 9
2014-10-19 01:49:55 PDT
(In reply to
comment #8
)
> I don't understand why we need test expectations for newly imported tests. > They should all pass because all expected results are generated from scratch.
That is a good point, I should have stated the reason upfront. The current WPT baseline generator imports all tests from a given WPT folder. In this folder, one will find: - tests that crash, timeout or fail: these tests are marked as skip. Running these tests (especially the ones that timeout) does not provide much and the total run time becomes very long. - tests that pass partially (some assertions passing, some not). These tests are put in the test expectations and marked as pass. This allows keeping all tests that need some fixes in the test expectations. Importing only tests that pass or partially pass is not feasible as some ports have different features and different bugs.
http://youennf.github.io/w3c-reports/12092014/w3c_conformance_results.html
gives details about that. Issues would also arise when bumping version of thevtest suite. One will also find additional test expectation lines: imported/w3c/wpt is marked as skip so that, by default, all tests are skipped. This applies for instance to files in the 'tools' folder that should not be run as tests. Each enabled WPT folder has a line marked explicitly as pass so that tests inside it are run. At the end, the whole test suite could be regularly imported, each port deciding to enable/skip specific folders. This process is described with some additional information at
https://github.com/canonresearchfrance/webkit/wiki/Running-W3C-Tests
youenn fablet
Comment 10
2014-11-03 06:45:21 PST
Anyone to review the patch?
Bem Jones-Bey
Comment 11
2014-11-03 13:39:04 PST
(In reply to
comment #10
)
> Anyone to review the patch?
I'm going to have to defer to rniwa on this one to make sure you've satisfied all of his concerns. If he doesn't get back to you here soon, I'd suggest pinging him on IRC.
Ryosuke Niwa
Comment 12
2014-12-17 20:06:35 PST
I don't think we should add TestExpectations for subdirectories of LayoutTests/imported/ We already have too many TestExpectations files, and it's hard to reason about. We shouldn't make that even worse.
youenn fablet
Comment 13
2014-12-23 07:43:21 PST
Latest patches that generate baselines directly work on the generic and platform-specific TestExpectations. Closing this bug as wontfix.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug