Bug 142163 - Import W3C XMLHttpRequest tests
Summary: Import W3C XMLHttpRequest tests
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Tools / Tests (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: youenn fablet
URL:
Keywords:
Depends on: 134764
Blocks:
  Show dependency treegraph
 
Reported: 2015-03-02 05:30 PST by youenn fablet
Modified: 2015-10-27 11:59 PDT (History)
8 users (show)

See Also:


Attachments
XHR import based on bug 134766 new tool (856.97 KB, patch)
2015-03-02 09:31 PST, youenn fablet
no flags Details | Formatted Diff | Diff
Patch (953.45 KB, patch)
2015-06-05 11:13 PDT, youenn fablet
no flags Details | Formatted Diff | Diff
Archive of layout-test-results from ews104 for mac-mavericks-wk2 (719.00 KB, application/zip)
2015-06-05 11:38 PDT, Build Bot
no flags Details
Archive of layout-test-results from ews101 for mac-mavericks (569.97 KB, application/zip)
2015-06-05 12:11 PDT, Build Bot
no flags Details
Rebasing tests (1011.61 KB, patch)
2015-10-21 09:13 PDT, youenn fablet
no flags Details | Formatted Diff | Diff
Archive of layout-test-results from ews101 for mac-mavericks (662.08 KB, application/zip)
2015-10-21 10:01 PDT, Build Bot
no flags Details
Archive of layout-test-results from ews107 for mac-mavericks-wk2 (696.44 KB, application/zip)
2015-10-21 10:04 PDT, Build Bot
no flags Details
Archive of layout-test-results from ews112 for mac-yosemite (740.54 KB, application/zip)
2015-10-21 10:08 PDT, Build Bot
no flags Details
Adding additional Failure expectations (1012.41 KB, patch)
2015-10-21 10:18 PDT, youenn fablet
no flags Details | Formatted Diff | Diff
Adding additional Failure expectations (1012.53 KB, patch)
2015-10-21 11:09 PDT, youenn fablet
no flags Details | Formatted Diff | Diff
Skipping import of failing tests (971.06 KB, patch)
2015-10-21 13:16 PDT, youenn fablet
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description youenn fablet 2015-03-02 05:30:53 PST
We should import XHR related web platform tests (https://github.com/w3c/web-platform-tests/tree/master/XMLHttpRequest)
Comment 1 youenn fablet 2015-03-02 09:31:41 PST
Created attachment 247676 [details]
XHR import based on bug 134766 new tool
Comment 2 youenn fablet 2015-06-05 11:13:37 PDT
Created attachment 254365 [details]
Patch
Comment 3 Build Bot 2015-06-05 11:38:45 PDT
Comment on attachment 254365 [details]
Patch

Attachment 254365 [details] did not pass mac-wk2-ews (mac-wk2):
Output: http://webkit-queues.appspot.com/results/5811620366254080

New failing tests:
imported/w3c/web-platform-tests/XMLHttpRequest/send-network-error-async-events.sub.htm
imported/w3c/web-platform-tests/XMLHttpRequest/send-authentication-basic-cors.htm
imported/w3c/web-platform-tests/XMLHttpRequest/open-url-worker-origin.htm
imported/w3c/web-platform-tests/XMLHttpRequest/event-upload-progress-crossorigin.sub.htm
Comment 4 Build Bot 2015-06-05 11:38:48 PDT
Created attachment 254369 [details]
Archive of layout-test-results from ews104 for mac-mavericks-wk2

The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews.
Bot: ews104  Port: mac-mavericks-wk2  Platform: Mac OS X 10.9.5
Comment 5 Build Bot 2015-06-05 12:11:45 PDT
Comment on attachment 254365 [details]
Patch

Attachment 254365 [details] did not pass mac-ews (mac):
Output: http://webkit-queues.appspot.com/results/4711815606960128

New failing tests:
imported/w3c/web-platform-tests/XMLHttpRequest/send-network-error-async-events.sub.htm
imported/w3c/web-platform-tests/XMLHttpRequest/send-authentication-basic-cors.htm
imported/w3c/web-platform-tests/XMLHttpRequest/open-url-worker-origin.htm
imported/w3c/web-platform-tests/XMLHttpRequest/event-upload-progress-crossorigin.sub.htm
Comment 6 Build Bot 2015-06-05 12:11:48 PDT
Created attachment 254372 [details]
Archive of layout-test-results from ews101 for mac-mavericks

The attached test failures were seen while running run-webkit-tests on the mac-ews.
Bot: ews101  Port: mac-mavericks  Platform: Mac OS X 10.9.5
Comment 7 youenn fablet 2015-10-21 09:13:00 PDT
Created attachment 263681 [details]
Rebasing tests
Comment 8 Build Bot 2015-10-21 10:01:09 PDT
Comment on attachment 263681 [details]
Rebasing tests

Attachment 263681 [details] did not pass mac-ews (mac):
Output: http://webkit-queues.webkit.org/results/316544

New failing tests:
imported/w3c/web-platform-tests/XMLHttpRequest/send-authentication-basic.htm
imported/w3c/web-platform-tests/XMLHttpRequest/send-network-error-async-events.sub.htm
imported/w3c/web-platform-tests/XMLHttpRequest/send-entity-body-basic.htm
imported/w3c/web-platform-tests/XMLHttpRequest/send-authentication-basic-repeat-no-args.htm
imported/w3c/web-platform-tests/XMLHttpRequest/send-authentication-basic-setrequestheader-existing-session.htm
imported/w3c/web-platform-tests/XMLHttpRequest/event-upload-progress-crossorigin.sub.htm
imported/w3c/web-platform-tests/XMLHttpRequest/preserve-ua-header-on-redirect.htm
imported/w3c/web-platform-tests/XMLHttpRequest/send-authentication-basic-setrequestheader.htm
Comment 9 Build Bot 2015-10-21 10:01:11 PDT
Created attachment 263690 [details]
Archive of layout-test-results from ews101 for mac-mavericks

The attached test failures were seen while running run-webkit-tests on the mac-ews.
Bot: ews101  Port: mac-mavericks  Platform: Mac OS X 10.9.5
Comment 10 Build Bot 2015-10-21 10:04:02 PDT
Comment on attachment 263681 [details]
Rebasing tests

Attachment 263681 [details] did not pass mac-wk2-ews (mac-wk2):
Output: http://webkit-queues.webkit.org/results/316548

New failing tests:
imported/w3c/web-platform-tests/XMLHttpRequest/send-authentication-basic.htm
imported/w3c/web-platform-tests/XMLHttpRequest/send-network-error-async-events.sub.htm
imported/w3c/web-platform-tests/XMLHttpRequest/send-authentication-basic-repeat-no-args.htm
imported/w3c/web-platform-tests/XMLHttpRequest/send-authentication-basic-setrequestheader-existing-session.htm
imported/w3c/web-platform-tests/XMLHttpRequest/preserve-ua-header-on-redirect.htm
imported/w3c/web-platform-tests/XMLHttpRequest/event-upload-progress-crossorigin.sub.htm
imported/w3c/web-platform-tests/XMLHttpRequest/send-authentication-basic-setrequestheader.htm
Comment 11 Build Bot 2015-10-21 10:04:09 PDT
Created attachment 263692 [details]
Archive of layout-test-results from ews107 for mac-mavericks-wk2

The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews.
Bot: ews107  Port: mac-mavericks-wk2  Platform: Mac OS X 10.9.5
Comment 12 Build Bot 2015-10-21 10:08:47 PDT
Comment on attachment 263681 [details]
Rebasing tests

Attachment 263681 [details] did not pass mac-debug-ews (mac):
Output: http://webkit-queues.webkit.org/results/316541

New failing tests:
imported/w3c/web-platform-tests/XMLHttpRequest/send-network-error-async-events.sub.htm
imported/w3c/web-platform-tests/XMLHttpRequest/send-entity-body-basic.htm
imported/w3c/web-platform-tests/XMLHttpRequest/event-upload-progress-crossorigin.sub.htm
Comment 13 Build Bot 2015-10-21 10:08:50 PDT
Created attachment 263693 [details]
Archive of layout-test-results from ews112 for mac-yosemite

The attached test failures were seen while running run-webkit-tests on the mac-debug-ews.
Bot: ews112  Port: mac-yosemite  Platform: Mac OS X 10.10.5
Comment 14 youenn fablet 2015-10-21 10:18:17 PDT
Created attachment 263694 [details]
Adding additional Failure expectations
Comment 15 youenn fablet 2015-10-21 11:09:40 PDT
Created attachment 263704 [details]
Adding additional Failure expectations
Comment 16 youenn fablet 2015-10-21 13:16:39 PDT
Created attachment 263723 [details]
Skipping import of failing tests
Comment 17 Darin Adler 2015-10-24 15:27:26 PDT
Comment on attachment 263723 [details]
Skipping import of failing tests

View in context: https://bugs.webkit.org/attachment.cgi?id=263723&action=review

> LayoutTests/imported/w3c/ChangeLog:8
> +        * resources/ImportExpectations: skipping import of some XHR tests that are failing or timing out.

Why not skip running them instead of skip importing them?

> LayoutTests/TestExpectations:354
> +imported/w3c/web-platform-tests/XMLHttpRequest/xmlhttprequest-timeout-aborted.html [ Slow ]
> +imported/w3c/web-platform-tests/XMLHttpRequest/xmlhttprequest-timeout-abortedonmain.html [ Slow ]
> +imported/w3c/web-platform-tests/XMLHttpRequest/xmlhttprequest-timeout-overrides.html [ Slow ]
> +imported/w3c/web-platform-tests/XMLHttpRequest/xmlhttprequest-timeout-overridesexpires.html [ Slow ]
> +imported/w3c/web-platform-tests/XMLHttpRequest/xmlhttprequest-timeout-simple.html [ Slow ]
> +imported/w3c/web-platform-tests/XMLHttpRequest/xmlhttprequest-timeout-synconmain.html [ Slow ]
> +imported/w3c/web-platform-tests/XMLHttpRequest/xmlhttprequest-timeout-twice.html [ Slow ]
> +imported/w3c/web-platform-tests/XMLHttpRequest/xmlhttprequest-timeout-worker-aborted.html [ Slow ]
> +imported/w3c/web-platform-tests/XMLHttpRequest/xmlhttprequest-timeout-worker-overrides.html [ Slow ]
> +imported/w3c/web-platform-tests/XMLHttpRequest/xmlhttprequest-timeout-worker-overridesexpires.html [ Slow ]
> +imported/w3c/web-platform-tests/XMLHttpRequest/xmlhttprequest-timeout-worker-simple.html [ Slow ]
> +imported/w3c/web-platform-tests/XMLHttpRequest/xmlhttprequest-timeout-worker-synconworker.html [ Slow ]
> +imported/w3c/web-platform-tests/XMLHttpRequest/xmlhttprequest-timeout-worker-twice.html [ Slow ]

This seems like a problem. Is there any trickier way we can test timeouts without slowing down our testing like this? Long term it’s not good to let these start creeping in.
Comment 18 youenn fablet 2015-10-24 23:41:03 PDT
(In reply to comment #17)
> Comment on attachment 263723 [details]
> Skipping import of failing tests
> 
> View in context:
> https://bugs.webkit.org/attachment.cgi?id=263723&action=review
> 
> > LayoutTests/imported/w3c/ChangeLog:8
> > +        * resources/ImportExpectations: skipping import of some XHR tests that are failing or timing out.
> 
> Why not skip running them instead of skip importing them?

It could be done that way too.

These bugs are failing for various reasons.
For instance, some of them use URLs like www2.localhost which should be ok and served as 127.0.0.1 but are blocked by WTR (and probably unresolvable too).
Some tests are working in some environments but not others.
I thought it would be nicer to import them (as [ Skip ] or not) with proper bugs attached to them.

> 
> > LayoutTests/TestExpectations:354
> > +imported/w3c/web-platform-tests/XMLHttpRequest/xmlhttprequest-timeout-aborted.html [ Slow ]
> > +imported/w3c/web-platform-tests/XMLHttpRequest/xmlhttprequest-timeout-abortedonmain.html [ Slow ]
> > +imported/w3c/web-platform-tests/XMLHttpRequest/xmlhttprequest-timeout-overrides.html [ Slow ]
> > +imported/w3c/web-platform-tests/XMLHttpRequest/xmlhttprequest-timeout-overridesexpires.html [ Slow ]
> > +imported/w3c/web-platform-tests/XMLHttpRequest/xmlhttprequest-timeout-simple.html [ Slow ]
> > +imported/w3c/web-platform-tests/XMLHttpRequest/xmlhttprequest-timeout-synconmain.html [ Slow ]
> > +imported/w3c/web-platform-tests/XMLHttpRequest/xmlhttprequest-timeout-twice.html [ Slow ]
> > +imported/w3c/web-platform-tests/XMLHttpRequest/xmlhttprequest-timeout-worker-aborted.html [ Slow ]
> > +imported/w3c/web-platform-tests/XMLHttpRequest/xmlhttprequest-timeout-worker-overrides.html [ Slow ]
> > +imported/w3c/web-platform-tests/XMLHttpRequest/xmlhttprequest-timeout-worker-overridesexpires.html [ Slow ]
> > +imported/w3c/web-platform-tests/XMLHttpRequest/xmlhttprequest-timeout-worker-simple.html [ Slow ]
> > +imported/w3c/web-platform-tests/XMLHttpRequest/xmlhttprequest-timeout-worker-synconworker.html [ Slow ]
> > +imported/w3c/web-platform-tests/XMLHttpRequest/xmlhttprequest-timeout-worker-twice.html [ Slow ]
> 
> This seems like a problem. Is there any trickier way we can test timeouts
> without slowing down our testing like this? Long term it’s not good to let
> these start creeping in.

These tests are marked as slow (<meta name=timeout content=long>).
In the WPT framework, testharness.js will check this meta tag, and would use a long timeout where necessary.
In current WebKit test framework, we cannot do otherwise than marking these tests as Slow in TestExpectations, at least at first import to reduce the risk of flakiness.

Once they will be run several times, we may be able to remove [ Slow ] for some bots.

Also, these tests are updated versions of LayoutTests/http/tests/xmlhttprequest/timeout/ which are often flaky currently on WebKit bots.
One reason may be that these tests use various XHR timeout values between 200ms and 1s.
WPT tests increased some XHR timeout values to 5s, which is close to some bots regular test timeout.
Comment 19 WebKit Commit Bot 2015-10-25 00:40:12 PDT
Comment on attachment 263723 [details]
Skipping import of failing tests

Clearing flags on attachment: 263723

Committed r191546: <http://trac.webkit.org/changeset/191546>
Comment 20 WebKit Commit Bot 2015-10-25 00:40:19 PDT
All reviewed patches have been landed.  Closing bug.
Comment 21 Alexey Proskuryakov 2015-10-25 11:00:39 PDT
These tests have uncovered a lot of leaks, jumping from ~600Kb to ~2Mb:

https://build.webkit.org/builders/Apple%20El%20Capitan%20%28Leaks%29/builds/593
https://build.webkit.org/builders/Apple%20El%20Capitan%20%28Leaks%29/builds/594

We really need to find a way to make the leak bot more precise, but this case is pretty clear.
Comment 22 Alexey Proskuryakov 2015-10-25 11:03:05 PDT
Filed bug 150546 about that.
Comment 23 Alexey Proskuryakov 2015-10-27 11:17:27 PDT
Several of these tests fail on Windows:

https://build.webkit.org/results/Apple%20Win%207%20Debug%20(Tests)/r191622%20(68088)/results.html