Changeset 238907 in webkit


Ignore:
Timestamp:
Dec 5, 2018 1:15:36 PM (5 years ago)
Author:
youenn@apple.com
Message:

[iOS] Layout Test imported/w3c/web-platform-tests/service-workers/service-worker/fetch-cors-xhr.https.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=189727
<rdar://problem/44584993>

Reviewed by Chris Dumez.

LayoutTests/imported/w3c:

Make the test more deterministic and output more test to ease debugging.

  • web-platform-tests/service-workers/service-worker/fetch-cors-xhr.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/fetch-cors-xhr.https.html:
  • web-platform-tests/service-workers/service-worker/resources/fetch-cors-xhr-iframe.html:

LayoutTests:

Location:
trunk/LayoutTests
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r238902 r238907  
     12018-12-05  Youenn Fablet  <youenn@apple.com>
     2
     3        [iOS] Layout Test imported/w3c/web-platform-tests/service-workers/service-worker/fetch-cors-xhr.https.html is a flaky failure
     4        https://bugs.webkit.org/show_bug.cgi?id=189727
     5        <rdar://problem/44584993>
     6
     7        Reviewed by Chris Dumez.
     8
     9        * TestExpectations:
     10        * platform/ios/TestExpectations:
     11
    1122018-12-05  Commit Queue  <commit-queue@webkit.org>
    213
  • trunk/LayoutTests/TestExpectations

    r238888 r238907  
    264264imported/w3c/web-platform-tests/fetch/api/redirect/redirect-to-dataurl.html [ DumpJSConsoleLogInStdErr ]
    265265
    266 webkit.org/b/181901 imported/w3c/web-platform-tests/service-workers/service-worker/fetch-cors-xhr.https.html [ DumpJSConsoleLogInStdErr ]
    267266imported/w3c/web-platform-tests/service-workers/service-worker/fetch-response-taint.https.html [ DumpJSConsoleLogInStdErr ]
    268267imported/w3c/web-platform-tests/service-workers/service-worker/register-closed-window.https.html [ DumpJSConsoleLogInStdErr ]
  • trunk/LayoutTests/imported/w3c/ChangeLog

    r238893 r238907  
     12018-12-05  Youenn Fablet  <youenn@apple.com>
     2
     3        [iOS] Layout Test imported/w3c/web-platform-tests/service-workers/service-worker/fetch-cors-xhr.https.html is a flaky failure
     4        https://bugs.webkit.org/show_bug.cgi?id=189727
     5        <rdar://problem/44584993>
     6
     7        Reviewed by Chris Dumez.
     8
     9        Make the test more deterministic and output more test to ease debugging.
     10
     11        * web-platform-tests/service-workers/service-worker/fetch-cors-xhr.https-expected.txt:
     12        * web-platform-tests/service-workers/service-worker/fetch-cors-xhr.https.html:
     13        * web-platform-tests/service-workers/service-worker/resources/fetch-cors-xhr-iframe.html:
     14
    1152018-12-05  Frederic Wang  <fwang@igalia.com>
    216
  • trunk/LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/fetch-cors-xhr.https-expected.txt

    r226333 r238907  
     1CONSOLE MESSAGE: FetchEvent.respondWith received an error: undefined
     2CONSOLE MESSAGE: XMLHttpRequest cannot load https://localhost:9443/service-workers/service-worker/resources/fetch-access-control.py?reject.
     3CONSOLE MESSAGE: FetchEvent.respondWith received an error: undefined
     4CONSOLE MESSAGE: XMLHttpRequest cannot load https://localhost:9443/service-workers/service-worker/resources/fetch-access-control.py?reject.
     5CONSOLE MESSAGE: FetchEvent.respondWith received an error: undefined
     6CONSOLE MESSAGE: XMLHttpRequest cannot load https://127.0.0.1:9443/service-workers/service-worker/resources/fetch-access-control.py?reject.
     7CONSOLE MESSAGE: FetchEvent.respondWith received an error: undefined
     8CONSOLE MESSAGE: XMLHttpRequest cannot load https://127.0.0.1:9443/service-workers/service-worker/resources/fetch-access-control.py?reject.
     9CONSOLE MESSAGE: Origin https://localhost:9443 is not allowed by Access-Control-Allow-Origin.
     10CONSOLE MESSAGE: XMLHttpRequest cannot load https://127.0.0.1:9443/service-workers/service-worker/resources/fetch-access-control.py?throw due to access control checks.
     11CONSOLE MESSAGE: Origin https://localhost:9443 is not allowed by Access-Control-Allow-Origin.
     12CONSOLE MESSAGE: XMLHttpRequest cannot load https://127.0.0.1:9443/service-workers/service-worker/resources/fetch-access-control.py?throw due to access control checks.
     13CONSOLE MESSAGE: FetchEvent.respondWith received an error: Returned response is null.
     14CONSOLE MESSAGE: XMLHttpRequest cannot load https://localhost:9443/service-workers/service-worker/resources/fetch-access-control.py?resolve-null.
     15CONSOLE MESSAGE: FetchEvent.respondWith received an error: Returned response is null.
     16CONSOLE MESSAGE: XMLHttpRequest cannot load https://localhost:9443/service-workers/service-worker/resources/fetch-access-control.py?resolve-null.
     17CONSOLE MESSAGE: FetchEvent.respondWith received an error: Returned response is null.
     18CONSOLE MESSAGE: XMLHttpRequest cannot load https://127.0.0.1:9443/service-workers/service-worker/resources/fetch-access-control.py?resolve-null.
     19CONSOLE MESSAGE: FetchEvent.respondWith received an error: Returned response is null.
     20CONSOLE MESSAGE: XMLHttpRequest cannot load https://127.0.0.1:9443/service-workers/service-worker/resources/fetch-access-control.py?resolve-null.
     21CONSOLE MESSAGE: Origin https://localhost:9443 is not allowed by Access-Control-Allow-Origin.
     22CONSOLE MESSAGE: XMLHttpRequest cannot load https://127.0.0.1:9443/service-workers/service-worker/resources/fetch-access-control.py?ignore due to access control checks.
     23CONSOLE MESSAGE: Origin https://localhost:9443 is not allowed by Access-Control-Allow-Origin.
     24CONSOLE MESSAGE: XMLHttpRequest cannot load https://127.0.0.1:9443/service-workers/service-worker/resources/fetch-access-control.py?ignore due to access control checks.
     25CONSOLE MESSAGE: Credentials flag is true, but Access-Control-Allow-Credentials is not "true".
     26CONSOLE MESSAGE: XMLHttpRequest cannot load https://127.0.0.1:9443/service-workers/service-worker/resources/fetch-access-control.py?ACAOrigin=https://localhost:9443&ignore due to access control checks.
     27CONSOLE MESSAGE: Origin https://localhost:9443 is not allowed by Access-Control-Allow-Origin.
     28CONSOLE MESSAGE: XMLHttpRequest cannot load https://127.0.0.1:9443/service-workers/service-worker/resources/fetch-access-control.py?Auth&ignore due to access control checks.
     29CONSOLE MESSAGE: Origin https://localhost:9443 is not allowed by Access-Control-Allow-Origin.
     30CONSOLE MESSAGE: XMLHttpRequest cannot load https://127.0.0.1:9443/service-workers/service-worker/resources/fetch-access-control.py?Auth&ignore due to access control checks.
     31CONSOLE MESSAGE: Credentials flag is true, but Access-Control-Allow-Credentials is not "true".
     32CONSOLE MESSAGE: XMLHttpRequest cannot load https://127.0.0.1:9443/service-workers/service-worker/resources/fetch-access-control.py?Auth&ACAOrigin=https://localhost:9443&ignore due to access control checks.
     33CONSOLE MESSAGE: Response served by service worker is opaque
     34CONSOLE MESSAGE: XMLHttpRequest cannot load https://127.0.0.1:9443/service-workers/service-worker/resources/fetch-access-control.py due to access control checks.
     35CONSOLE MESSAGE: Response served by service worker is opaque
     36CONSOLE MESSAGE: XMLHttpRequest cannot load https://127.0.0.1:9443/service-workers/service-worker/resources/fetch-access-control.py due to access control checks.
     37CONSOLE MESSAGE: Response served by service worker is opaque
     38CONSOLE MESSAGE: XMLHttpRequest cannot load https://127.0.0.1:9443/service-workers/service-worker/resources/fetch-access-control.py due to access control checks.
     39CONSOLE MESSAGE: Response served by service worker is opaque
     40CONSOLE MESSAGE: XMLHttpRequest cannot load https://127.0.0.1:9443/service-workers/service-worker/resources/fetch-access-control.py due to access control checks.
     41CONSOLE MESSAGE: FetchEvent.respondWith received an error: TypeError: Credentials flag is true, but Access-Control-Allow-Credentials is not "true".
     42CONSOLE MESSAGE: XMLHttpRequest cannot load https://localhost:9443/service-workers/service-worker/resources/fetch-access-control.py?mode=cors&url=https%3A%2F%2F127.0.0.1%3A9443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FACAOrigin%3Dhttps%3A%2F%2Flocalhost%3A9443.
     43CONSOLE MESSAGE: FetchEvent.respondWith received an error: TypeError: Credentials flag is true, but Access-Control-Allow-Credentials is not "true".
     44CONSOLE MESSAGE: XMLHttpRequest cannot load https://127.0.0.1:9443/service-workers/service-worker/resources/fetch-access-control.py?mode=cors&url=https%3A%2F%2F127.0.0.1%3A9443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FACAOrigin%3Dhttps%3A%2F%2Flocalhost%3A9443.
    145
    246PASS Verify CORS XHR of fetch() in a Service Worker
     47PASS test 1: https://localhost:9443/service-workers/service-worker/resources/fetch-access-control.py?reject with credentials false must be FAIL
     48PASS test 2: https://localhost:9443/service-workers/service-worker/resources/fetch-access-control.py?reject with credentials true must be FAIL
     49PASS test 3: https://127.0.0.1:9443/service-workers/service-worker/resources/fetch-access-control.py?reject with credentials false must be FAIL
     50PASS test 4: https://127.0.0.1:9443/service-workers/service-worker/resources/fetch-access-control.py?reject with credentials true must be FAIL
     51PASS test 5: https://localhost:9443/service-workers/service-worker/resources/fetch-access-control.py?throw with credentials false must be SUCCESS
     52PASS test 6: https://localhost:9443/service-workers/service-worker/resources/fetch-access-control.py?throw with credentials true must be SUCCESS
     53PASS test 7: https://127.0.0.1:9443/service-workers/service-worker/resources/fetch-access-control.py?throw with credentials false must be FAIL
     54PASS test 8: https://127.0.0.1:9443/service-workers/service-worker/resources/fetch-access-control.py?throw with credentials true must be FAIL
     55PASS test 9: https://localhost:9443/service-workers/service-worker/resources/fetch-access-control.py?resolve-null with credentials false must be FAIL
     56PASS test 10: https://localhost:9443/service-workers/service-worker/resources/fetch-access-control.py?resolve-null with credentials true must be FAIL
     57PASS test 11: https://127.0.0.1:9443/service-workers/service-worker/resources/fetch-access-control.py?resolve-null with credentials false must be FAIL
     58PASS test 12: https://127.0.0.1:9443/service-workers/service-worker/resources/fetch-access-control.py?resolve-null with credentials true must be FAIL
     59PASS test 13: https://localhost:9443/service-workers/service-worker/resources/fetch-access-control.py?ignore with credentials false must be SUCCESS
     60PASS test 14: https://localhost:9443/service-workers/service-worker/resources/fetch-access-control.py?ignore with credentials true must be SUCCESS
     61PASS test 15: https://127.0.0.1:9443/service-workers/service-worker/resources/fetch-access-control.py?ignore with credentials false must be FAIL
     62PASS test 16: https://127.0.0.1:9443/service-workers/service-worker/resources/fetch-access-control.py?ignore with credentials true must be FAIL
     63PASS test 17: https://127.0.0.1:9443/service-workers/service-worker/resources/fetch-access-control.py?ACAOrigin=https://localhost:9443&ignore with credentials false must be SUCCESS
     64PASS test 18: https://127.0.0.1:9443/service-workers/service-worker/resources/fetch-access-control.py?ACAOrigin=https://localhost:9443&ignore with credentials true must be FAIL
     65PASS test 19: https://127.0.0.1:9443/service-workers/service-worker/resources/fetch-access-control.py?ACAOrigin=https://localhost:9443&ACACredentials=true&ignore with credentials true must be SUCCESS
     66PASS test 20: https://localhost:9443/service-workers/service-worker/resources/fetch-access-control.py?Auth&ignore with credentials false must be SUCCESS
     67PASS test 21: https://localhost:9443/service-workers/service-worker/resources/fetch-access-control.py?Auth&ignore with credentials true must be SUCCESS
     68PASS test 22: https://127.0.0.1:9443/service-workers/service-worker/resources/fetch-access-control.py?Auth&ignore with credentials false must be FAIL
     69PASS test 23: https://127.0.0.1:9443/service-workers/service-worker/resources/fetch-access-control.py?Auth&ignore with credentials true must be FAIL
     70PASS test 24: https://127.0.0.1:9443/service-workers/service-worker/resources/fetch-access-control.py?Auth&ACAOrigin=https://localhost:9443&ignore with credentials false must be STATUS401
     71PASS test 25: https://127.0.0.1:9443/service-workers/service-worker/resources/fetch-access-control.py?Auth&ACAOrigin=https://localhost:9443&ignore with credentials true must be FAIL
     72PASS test 26: https://127.0.0.1:9443/service-workers/service-worker/resources/fetch-access-control.py?Auth&ACAOrigin=https://localhost:9443&ACACredentials=true&ignore with credentials true must be SUCCESS
     73PASS test 27: https://localhost:9443/service-workers/service-worker/resources/fetch-access-control.py?mode=same-origin&url=https%3A%2F%2Flocalhost%3A9443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py with credentials false must be SUCCESS
     74PASS test 28: https://localhost:9443/service-workers/service-worker/resources/fetch-access-control.py?mode=same-origin&url=https%3A%2F%2Flocalhost%3A9443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py with credentials false must be SUCCESS
     75PASS test 29: https://127.0.0.1:9443/service-workers/service-worker/resources/fetch-access-control.py?mode=same-origin&url=https%3A%2F%2Flocalhost%3A9443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py with credentials false must be SUCCESS
     76PASS test 30: https://127.0.0.1:9443/service-workers/service-worker/resources/fetch-access-control.py?mode=same-origin&url=https%3A%2F%2Flocalhost%3A9443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py with credentials false must be SUCCESS
     77PASS test 31: https://localhost:9443/service-workers/service-worker/resources/fetch-access-control.py?mode=no-cors&url=https%3A%2F%2F127.0.0.1%3A9443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py with credentials false must be FAIL
     78PASS test 32: https://localhost:9443/service-workers/service-worker/resources/fetch-access-control.py?mode=no-cors&url=https%3A%2F%2F127.0.0.1%3A9443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py with credentials false must be FAIL
     79PASS test 33: https://127.0.0.1:9443/service-workers/service-worker/resources/fetch-access-control.py?mode=no-cors&url=https%3A%2F%2F127.0.0.1%3A9443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py with credentials false must be FAIL
     80PASS test 34: https://127.0.0.1:9443/service-workers/service-worker/resources/fetch-access-control.py?mode=no-cors&url=https%3A%2F%2F127.0.0.1%3A9443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py with credentials false must be FAIL
     81PASS test 35: https://localhost:9443/service-workers/service-worker/resources/fetch-access-control.py?mode=cors&url=https%3A%2F%2F127.0.0.1%3A9443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FACAOrigin%3Dhttps%3A%2F%2Flocalhost%3A9443 with credentials false must be SUCCESS
     82PASS test 36: https://localhost:9443/service-workers/service-worker/resources/fetch-access-control.py?mode=cors&url=https%3A%2F%2F127.0.0.1%3A9443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FACAOrigin%3Dhttps%3A%2F%2Flocalhost%3A9443 with credentials true must be FAIL
     83PASS test 37: https://localhost:9443/service-workers/service-worker/resources/fetch-access-control.py?mode=cors&url=https%3A%2F%2F127.0.0.1%3A9443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FACAOrigin%3Dhttps%3A%2F%2Flocalhost%3A9443%26ACACredentials%3Dtrue with credentials true must be SUCCESS
     84PASS test 38: https://127.0.0.1:9443/service-workers/service-worker/resources/fetch-access-control.py?mode=cors&url=https%3A%2F%2F127.0.0.1%3A9443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FACAOrigin%3Dhttps%3A%2F%2Flocalhost%3A9443 with credentials false must be SUCCESS
     85PASS test 39: https://127.0.0.1:9443/service-workers/service-worker/resources/fetch-access-control.py?mode=cors&url=https%3A%2F%2F127.0.0.1%3A9443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FACAOrigin%3Dhttps%3A%2F%2Flocalhost%3A9443 with credentials true must be FAIL
     86PASS test 40: https://127.0.0.1:9443/service-workers/service-worker/resources/fetch-access-control.py?mode=cors&url=https%3A%2F%2F127.0.0.1%3A9443%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FACAOrigin%3Dhttps%3A%2F%2Flocalhost%3A9443%26ACACredentials%3Dtrue with credentials true must be SUCCESS
    387
  • trunk/LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/fetch-cors-xhr.https.html

    r238592 r238907  
    3131          return new Promise(function(resolve, reject) {
    3232              var channel = new MessageChannel();
    33               channel.port1.onmessage = resolve;
     33              channel.port1.onmessage = (event) => {
     34                  if (event.data === 'done') {
     35                    resolve();
     36                    return;
     37                  }
     38                  test(() => {
     39                    assert_true(event.data.result);
     40                  }, event.data.testName);
     41              };
    3442              frame.contentWindow.postMessage({},
    3543                                              host_info['HTTPS_ORIGIN'],
    3644                                              [channel.port2]);
    3745            });
    38         })
    39       .then(function(e) {
    40           assert_equals(e.data.results, 'finish');
    4146        });
    4247  }, 'Verify CORS XHR of fetch() in a Service Worker');
  • trunk/LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/resources/fetch-cors-xhr-iframe.html

    r220223 r238907  
    2727}
    2828
    29 function create_test_promise(url, with_credentials, expected_result) {
    30   return new Promise(function(resolve, reject) {
    31       create_test_case_promise(url, with_credentials)
    32         .then(function(result) {
    33           if (result == expected_result) {
    34             resolve();
    35           } else {
    36             reject('Result of url:' + url + ' ' +
    37                    ' with_credentials: ' + with_credentials + ' must be ' +
    38                    expected_result + ' but ' + result);
    39           }
    40         })
    41     });
    42 }
    43 
    44 function create_serial_promise(test_cases) {
    45   var promise = Promise.resolve();
    46   test_cases.forEach(function(test_case) {
    47       promise = promise.then(function() {
    48           return create_test_promise(test_case[0], test_case[1], test_case[2]);
    49         });
    50     });
    51     return promise;
    52 }
    53 
    54 window.addEventListener('message', function(evt) {
     29window.addEventListener('message', async (evt) => {
    5530    var port = evt.ports[0];
    5631    var url = host_info['HTTPS_ORIGIN'] + path;
    5732    var remote_url = host_info['HTTPS_REMOTE_ORIGIN'] + path;
    58     // If the 4th value of the item of TEST_CASES is true, the test case outputs
    59     // warning messages. So such tests must be executed in serial to match the
    60     // expected output text.
    6133    var TEST_CASES = [
    6234      // Reject tests
     
    9668      [url + '?Auth&ignore', false, SUCCESS],
    9769      [url + '?Auth&ignore', true, SUCCESS],
    98       [remote_url + '?Auth&ignore', false, FAIL, true],  // Executed in serial.
    99       [remote_url + '?Auth&ignore', true, FAIL, true],  // Executed in serial.
     70      [remote_url + '?Auth&ignore', false, FAIL],
     71      [remote_url + '?Auth&ignore', true, FAIL],
    10072      [
    10173        remote_url + '?Auth&ACAOrigin=' + host_info['HTTPS_ORIGIN'] + '&ignore',
     
    187159      ]
    188160    ];
    189     var promises = [];
    190     var serial_tests = [];
    191     for (var i = 0; i < TEST_CASES.length ; ++i) {
    192       if (!TEST_CASES[i][3]) {
    193         promises.push(create_test_promise(TEST_CASES[i][0],
    194                                           TEST_CASES[i][1],
    195                                           TEST_CASES[i][2]));
    196       } else {
    197         serial_tests.push(TEST_CASES[i]);
    198       }
     161
     162    let counter = 0;
     163    for (let test of TEST_CASES) {
     164      let result = await create_test_case_promise(test[0], test[1]);
     165      let testName = 'test ' + (++counter) + ': ' + test[0] + ' with credentials ' + test[1] + ' must be ' + test[2];
     166      port.postMessage({testName: testName, result: result === test[2]});
    199167    }
    200     promises.push(create_serial_promise(serial_tests));
    201     Promise.all(promises)
    202       .then(function() {
    203           port.postMessage({results: 'finish'});
    204         })
    205       .catch(function(e) {
    206           port.postMessage({results: 'failure:' + e});
    207         });
     168    port.postMessage('done');
    208169  }, false);
    209170</script>
  • trunk/LayoutTests/platform/ios/TestExpectations

    r238891 r238907  
    31373137webkit.org/b/189726 imported/w3c/web-platform-tests/service-workers/service-worker/fetch-mixed-content-to-outscope.https.html [ Pass Failure ]
    31383138
    3139 webkit.org/b/189727 imported/w3c/web-platform-tests/service-workers/service-worker/fetch-cors-xhr.https.html [ DumpJSConsoleLogInStdErr Pass Failure ]
     3139webkit.org/b/189727 imported/w3c/web-platform-tests/service-workers/service-worker/fetch-cors-xhr.https.html [ Pass Failure ]
    31403140
    31413141webkit.org/b/187557 media/media-fragments/TC0005.html [ Pass Failure ]
Note: See TracChangeset for help on using the changeset viewer.