REGRESSION: [ MacOS iOS ] Layout Test http/wpt/resource-timing/rt-revalidate-requests...
authorcommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 13 Dec 2018 01:23:04 +0000 (01:23 +0000)
committercommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 13 Dec 2018 01:23:04 +0000 (01:23 +0000)
https://bugs.webkit.org/show_bug.cgi?id=191207
<rdar://problem/45818891>

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2018-12-12
Reviewed by Devin Rousso.

Splitting this test up into separate tests eliminated flakiness
and timeouts for my system that would occasionally encounter them.

* TestExpectations:
Remove expectation for the test now that splitting up eliminated flakiness so far.

* http/wpt/resource-timing/resources/rt-revalidate-utilities.sub.js
Common code for the split out tests.

* http/wpt/resource-timing/rt-revalidate-requests-1-expected.txt: Added.
* http/wpt/resource-timing/rt-revalidate-requests-1.html: Added.
* http/wpt/resource-timing/rt-revalidate-requests-2-expected.txt: Added.
* http/wpt/resource-timing/rt-revalidate-requests-2.html: Added.
* http/wpt/resource-timing/rt-revalidate-requests-3-expected.txt: Added.
* http/wpt/resource-timing/rt-revalidate-requests-3.html: Added.
* http/wpt/resource-timing/rt-revalidate-requests.html: Removed.
* http/wpt/resource-timing/rt-revalidate-requests-expected.txt: Removed.
Split out into separate tests.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@239138 268f45cc-cd09-0410-ab3c-d52691b4dbfc

LayoutTests/ChangeLog
LayoutTests/TestExpectations
LayoutTests/http/wpt/resource-timing/resources/rt-revalidate-utilities.sub.js [moved from LayoutTests/http/wpt/resource-timing/rt-revalidate-requests.html with 54% similarity]
LayoutTests/http/wpt/resource-timing/rt-revalidate-requests-1-expected.txt [new file with mode: 0644]
LayoutTests/http/wpt/resource-timing/rt-revalidate-requests-1.html [new file with mode: 0644]
LayoutTests/http/wpt/resource-timing/rt-revalidate-requests-2-expected.txt [new file with mode: 0644]
LayoutTests/http/wpt/resource-timing/rt-revalidate-requests-2.html [new file with mode: 0644]
LayoutTests/http/wpt/resource-timing/rt-revalidate-requests-3-expected.txt [new file with mode: 0644]
LayoutTests/http/wpt/resource-timing/rt-revalidate-requests-3.html [new file with mode: 0644]
LayoutTests/http/wpt/resource-timing/rt-revalidate-requests-expected.txt [deleted file]

index 1c697df..765d5ec 100644 (file)
@@ -1,3 +1,30 @@
+2018-12-12  Joseph Pecoraro  <pecoraro@apple.com>
+
+        REGRESSION: [ MacOS iOS ] Layout Test http/wpt/resource-timing/rt-revalidate-requests.html is flaky timeout
+        https://bugs.webkit.org/show_bug.cgi?id=191207
+        <rdar://problem/45818891>
+
+        Reviewed by Devin Rousso.
+
+        Splitting this test up into separate tests eliminated flakiness
+        and timeouts for my system that would occasionally encounter them.
+
+        * TestExpectations:
+        Remove expectation for the test now that splitting up eliminated flakiness so far.
+
+        * http/wpt/resource-timing/resources/rt-revalidate-utilities.sub.js
+        Common code for the split out tests.
+
+        * http/wpt/resource-timing/rt-revalidate-requests-1-expected.txt: Added.
+        * http/wpt/resource-timing/rt-revalidate-requests-1.html: Added.
+        * http/wpt/resource-timing/rt-revalidate-requests-2-expected.txt: Added.
+        * http/wpt/resource-timing/rt-revalidate-requests-2.html: Added.
+        * http/wpt/resource-timing/rt-revalidate-requests-3-expected.txt: Added.
+        * http/wpt/resource-timing/rt-revalidate-requests-3.html: Added.
+        * http/wpt/resource-timing/rt-revalidate-requests.html: Removed.
+        * http/wpt/resource-timing/rt-revalidate-requests-expected.txt: Removed.
+        Split out into separate tests.        
+
 2018-12-12  Chris Dumez  <cdumez@apple.com>
 
         [Mojave Release Wk2] Layout Test http/tests/cache/disk-cache/disk-cache-validation-attachment.html is flaky
index a9f6d97..d75b0e9 100644 (file)
@@ -761,7 +761,6 @@ imported/w3c/web-platform-tests/resource-timing/test_resource_timing.html [ Pass
 webkit.org/b/168357 http/wpt/resource-timing/rt-initiatorType-media.html [ Failure ]
 webkit.org/b/168448 http/wpt/resource-timing/rt-shared-resource-in-frames.html [ Pass Failure ]
 webkit.org/b/168448 http/wpt/resource-timing/rt-shared-resource-in-workers.html [ Pass Failure ]
-webkit.org/b/171511 http/wpt/resource-timing/rt-revalidate-requests.html [ Pass Failure ]
 
 webkit.org/b/161312 imported/w3c/web-platform-tests/html/semantics/document-metadata/the-link-element/document-without-browsing-context.html [ Failure Pass ]
 
@@ -1,17 +1,3 @@
-<!DOCTYPE html>
-<html>
-<head>
-<meta charset="utf-8">
-<title>Resource Timing - ResourceTiming for revalidation requests</title>
-<script src="/resources/testharness.js"></script>
-<script src="/resources/testharnessreport.js"></script>
-<script src="resources/rt-utilities.sub.js"></script>
-</head>
-<body>
-<h1>Resource Timing: ResourceTiming for revalidation requests</h1>
-<div id="log"></div>
-<script>
-const IncludeTimingOriginAllowHeaders = { Yes: true, No: false };
 function createRevalidationURL({tao, crossOrigin}) {
     let token = Math.random();
     let content = encodeURIComponent("var revalidationTest = 1;");
@@ -72,72 +58,3 @@ function assertDisallowedTimingData(entry) {
     for (let key of keys)
         assert_equals(entry[key], 0, `entry ${key} must be zero for Cross Origin resource without passing Timing-Allow-Origin check`);
 }
-
-// Same Origin (revalidation request).
-
-let sameOriginURL = createRevalidationURL({tao: true, crossOrigin: false});
-
-promise_test(function(t) {
-    let promise = observeResources(1).then(([entry]) => {
-        assertAlways(entry);
-        assertAllowedTimingData(entry);
-    });
-    makeRequest(sameOriginURL);
-    return promise;
-}, "Same Origin network load");
-
-promise_test(function(t) {
-    let promise = observeResources(1).then(([entry]) => {
-        assertAlways(entry);
-        assertAllowedTimingData(entry);
-    });
-    makeRequest(sameOriginURL, true);
-    return promise;
-}, "Same Origin revalidation load");
-
-// Cross Origin (revalidation request) without Timing Allow.
-
-let crossOriginURLNoTao = createRevalidationURL({tao: false, crossOrigin: true});
-
-promise_test(function(t) {
-    let promise = observeResources(1).then(([entry]) => {
-        assertAlways(entry);
-        assertDisallowedTimingData(entry);
-    });
-    makeRequest(crossOriginURLNoTao);
-    return promise;
-}, "Cross Origin network load (no TimingAllow)");
-
-promise_test(function(t) {
-    let promise = observeResources(1).then(([entry]) => {
-        assertAlways(entry);
-        assertDisallowedTimingData(entry);
-    });
-    makeRequest(crossOriginURLNoTao, true);
-    return promise;
-}, "Cross Origin revalidation load (no TimingAllow)");
-
-// Cross Origin (revalidation request) with Timing Allow.
-
-let crossOriginURLWithTao = createRevalidationURL({tao: true, crossOrigin: true});
-
-promise_test(function(t) {
-    let promise = observeResources(1).then(([entry]) => {
-        assertAlways(entry);
-        assertAllowedTimingData(entry);
-    });
-    makeRequest(crossOriginURLWithTao);
-    return promise;
-}, "Cross Origin network load (with TimingAllow)");
-
-promise_test(function(t) {
-    let promise = observeResources(1).then(([entry]) => {
-        assertAlways(entry);
-        assertAllowedTimingData(entry);
-    });
-    makeRequest(crossOriginURLWithTao, true);
-    return promise;
-}, "Cross Origin revalidation load (with TimingAllow)");
-</script>
-</body>
-</html>
diff --git a/LayoutTests/http/wpt/resource-timing/rt-revalidate-requests-1-expected.txt b/LayoutTests/http/wpt/resource-timing/rt-revalidate-requests-1-expected.txt
new file mode 100644 (file)
index 0000000..7402236
--- /dev/null
@@ -0,0 +1,6 @@
+Resource Timing: ResourceTiming for revalidation requests
+
+
+PASS Same Origin network load 
+PASS Same Origin revalidation load 
+
diff --git a/LayoutTests/http/wpt/resource-timing/rt-revalidate-requests-1.html b/LayoutTests/http/wpt/resource-timing/rt-revalidate-requests-1.html
new file mode 100644 (file)
index 0000000..487fc1d
--- /dev/null
@@ -0,0 +1,38 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>Resource Timing - ResourceTiming for revalidation requests</title>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="resources/rt-utilities.sub.js"></script>
+<script src="resources/rt-revalidate-utilities.sub.js"></script>
+</head>
+<body>
+<h1>Resource Timing: ResourceTiming for revalidation requests</h1>
+<div id="log"></div>
+<script>
+// Same Origin (revalidation request).
+
+let sameOriginURL = createRevalidationURL({tao: true, crossOrigin: false});
+
+promise_test(function(t) {
+    let promise = observeResources(1).then(([entry]) => {
+        assertAlways(entry);
+        assertAllowedTimingData(entry);
+    });
+    makeRequest(sameOriginURL);
+    return promise;
+}, "Same Origin network load");
+
+promise_test(function(t) {
+    let promise = observeResources(1).then(([entry]) => {
+        assertAlways(entry);
+        assertAllowedTimingData(entry);
+    });
+    makeRequest(sameOriginURL, true);
+    return promise;
+}, "Same Origin revalidation load");
+</script>
+</body>
+</html>
diff --git a/LayoutTests/http/wpt/resource-timing/rt-revalidate-requests-2-expected.txt b/LayoutTests/http/wpt/resource-timing/rt-revalidate-requests-2-expected.txt
new file mode 100644 (file)
index 0000000..62544be
--- /dev/null
@@ -0,0 +1,6 @@
+Resource Timing: ResourceTiming for revalidation requests
+
+
+PASS Cross Origin network load (no TimingAllow) 
+PASS Cross Origin revalidation load (no TimingAllow) 
+
diff --git a/LayoutTests/http/wpt/resource-timing/rt-revalidate-requests-2.html b/LayoutTests/http/wpt/resource-timing/rt-revalidate-requests-2.html
new file mode 100644 (file)
index 0000000..4fbd617
--- /dev/null
@@ -0,0 +1,38 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>Resource Timing - ResourceTiming for revalidation requests</title>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="resources/rt-utilities.sub.js"></script>
+<script src="resources/rt-revalidate-utilities.sub.js"></script>
+</head>
+<body>
+<h1>Resource Timing: ResourceTiming for revalidation requests</h1>
+<div id="log"></div>
+<script>
+// Cross Origin (revalidation request) without Timing Allow.
+
+let crossOriginURLNoTao = createRevalidationURL({tao: false, crossOrigin: true});
+
+promise_test(function(t) {
+    let promise = observeResources(1).then(([entry]) => {
+        assertAlways(entry);
+        assertDisallowedTimingData(entry);
+    });
+    makeRequest(crossOriginURLNoTao);
+    return promise;
+}, "Cross Origin network load (no TimingAllow)");
+
+promise_test(function(t) {
+    let promise = observeResources(1).then(([entry]) => {
+        assertAlways(entry);
+        assertDisallowedTimingData(entry);
+    });
+    makeRequest(crossOriginURLNoTao, true);
+    return promise;
+}, "Cross Origin revalidation load (no TimingAllow)");
+</script>
+</body>
+</html>
diff --git a/LayoutTests/http/wpt/resource-timing/rt-revalidate-requests-3-expected.txt b/LayoutTests/http/wpt/resource-timing/rt-revalidate-requests-3-expected.txt
new file mode 100644 (file)
index 0000000..744c43f
--- /dev/null
@@ -0,0 +1,6 @@
+Resource Timing: ResourceTiming for revalidation requests
+
+
+PASS Cross Origin network load (with TimingAllow) 
+PASS Cross Origin revalidation load (with TimingAllow) 
+
diff --git a/LayoutTests/http/wpt/resource-timing/rt-revalidate-requests-3.html b/LayoutTests/http/wpt/resource-timing/rt-revalidate-requests-3.html
new file mode 100644 (file)
index 0000000..c881b49
--- /dev/null
@@ -0,0 +1,38 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>Resource Timing - ResourceTiming for revalidation requests</title>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="resources/rt-utilities.sub.js"></script>
+<script src="resources/rt-revalidate-utilities.sub.js"></script>
+</head>
+<body>
+<h1>Resource Timing: ResourceTiming for revalidation requests</h1>
+<div id="log"></div>
+<script>
+// Cross Origin (revalidation request) with Timing Allow.
+
+let crossOriginURLWithTao = createRevalidationURL({tao: true, crossOrigin: true});
+
+promise_test(function(t) {
+    let promise = observeResources(1).then(([entry]) => {
+        assertAlways(entry);
+        assertAllowedTimingData(entry);
+    });
+    makeRequest(crossOriginURLWithTao);
+    return promise;
+}, "Cross Origin network load (with TimingAllow)");
+
+promise_test(function(t) {
+    let promise = observeResources(1).then(([entry]) => {
+        assertAlways(entry);
+        assertAllowedTimingData(entry);
+    });
+    makeRequest(crossOriginURLWithTao, true);
+    return promise;
+}, "Cross Origin revalidation load (with TimingAllow)");
+</script>
+</body>
+</html>
diff --git a/LayoutTests/http/wpt/resource-timing/rt-revalidate-requests-expected.txt b/LayoutTests/http/wpt/resource-timing/rt-revalidate-requests-expected.txt
deleted file mode 100644 (file)
index d9b42c1..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-Resource Timing: ResourceTiming for revalidation requests
-
-
-PASS Same Origin network load 
-PASS Same Origin revalidation load 
-PASS Cross Origin network load (no TimingAllow) 
-PASS Cross Origin revalidation load (no TimingAllow) 
-PASS Cross Origin network load (with TimingAllow) 
-PASS Cross Origin revalidation load (with TimingAllow) 
-