Modified: trunk/LayoutTests/ChangeLog (232804 => 232805)
--- trunk/LayoutTests/ChangeLog 2018-06-13 20:01:11 UTC (rev 232804)
+++ trunk/LayoutTests/ChangeLog 2018-06-13 20:24:27 UTC (rev 232805)
@@ -1,3 +1,15 @@
+2018-06-13 John Wilander <wilan...@apple.com>
+
+ Add console logging to test case to help investigate flaky timeouts
+ https://bugs.webkit.org/show_bug.cgi?id=186603
+ <rdar://problem/41096614>
+
+ Unreviewed test gardening.
+
+ * http/tests/resourceLoadStatistics/partitioned-and-unpartitioned-cookie-with-partitioning-timeout-expected.txt:
+ * http/tests/resourceLoadStatistics/partitioned-and-unpartitioned-cookie-with-partitioning-timeout.html:
+ Now has step-by-step console logging so that (hopefully) the flaky timeouts don't produce empty output.
+
2018-06-13 Said Abou-Hallawa <sabouhall...@apple.com>
TileFirstPaint strategy for async image decoding should be disabled for non root RenderLayers
Modified: trunk/LayoutTests/http/tests/resourceLoadStatistics/partitioned-and-unpartitioned-cookie-with-partitioning-timeout-expected.txt (232804 => 232805)
--- trunk/LayoutTests/http/tests/resourceLoadStatistics/partitioned-and-unpartitioned-cookie-with-partitioning-timeout-expected.txt 2018-06-13 20:01:11 UTC (rev 232804)
+++ trunk/LayoutTests/http/tests/resourceLoadStatistics/partitioned-and-unpartitioned-cookie-with-partitioning-timeout-expected.txt 2018-06-13 20:24:27 UTC (rev 232805)
@@ -1,3 +1,15 @@
+CONSOLE MESSAGE: line 114: Bootstrapping test.
+CONSOLE MESSAGE: line 65: Step 1.
+CONSOLE MESSAGE: line 70: Step 2.
+CONSOLE MESSAGE: line 77: Step 3.
+CONSOLE MESSAGE: line 84: Step 4.
+CONSOLE MESSAGE: line 54: setNormalCookiePartitioningTimeOutPlusUserInteractionAndContinue().
+CONSOLE MESSAGE: line 91: Step 5.
+CONSOLE MESSAGE: line 48: setShortCookiePartitioningTimeOutPlusFireShouldPartitionCookiesHandlerAndContinue().
+CONSOLE MESSAGE: line 43: fireShouldPartitionCookiesHandlerAndContinue().
+CONSOLE MESSAGE: line 98: Step 6.
+CONSOLE MESSAGE: line 54: setNormalCookiePartitioningTimeOutPlusUserInteractionAndContinue().
+CONSOLE MESSAGE: line 105: Step 7.
PASS successfullyParsed is true
TEST COMPLETE
Modified: trunk/LayoutTests/http/tests/resourceLoadStatistics/partitioned-and-unpartitioned-cookie-with-partitioning-timeout.html (232804 => 232805)
--- trunk/LayoutTests/http/tests/resourceLoadStatistics/partitioned-and-unpartitioned-cookie-with-partitioning-timeout.html 2018-06-13 20:01:11 UTC (rev 232804)
+++ trunk/LayoutTests/http/tests/resourceLoadStatistics/partitioned-and-unpartitioned-cookie-with-partitioning-timeout.html 2018-06-13 20:24:27 UTC (rev 232805)
@@ -40,15 +40,18 @@
}
function fireShouldPartitionCookiesHandlerAndContinue() {
+ console.log("fireShouldPartitionCookiesHandlerAndContinue().");
testRunner.statisticsUpdateCookiePartitioning(runTest);
}
function setShortCookiePartitioningTimeOutPlusFireShouldPartitionCookiesHandlerAndContinue() {
+ console.log("setShortCookiePartitioningTimeOutPlusFireShouldPartitionCookiesHandlerAndContinue().");
testRunner.setStatisticsTimeToLiveCookiePartitionFree(1);
setTimeout(fireShouldPartitionCookiesHandlerAndContinue, 2000);
}
function setNormalCookiePartitioningTimeOutPlusUserInteractionAndContinue() {
+ console.log("setNormalCookiePartitioningTimeOutPlusUserInteractionAndContinue().");
testRunner.setStatisticsTimeToLiveCookiePartitionFree(86400);
testRunner.setStatisticsHasHadUserInteraction(thirdPartyOrigin, true);
if (!testRunner.isStatisticsHasHadUserInteraction(thirdPartyOrigin))
@@ -59,10 +62,12 @@
function runTest() {
switch (document.location.hash) {
case "#step1":
+ console.log("Step 1.");
// Set first-party cookie for http://localhost:8000
document.location.href = "" + subPathToSetFirstPartyCookie + "#" + fragmentWithReturnUrl + "#step2";
break;
case "#step2":
+ console.log("Step 2.");
// Check that the first-party cookie is not sent in partition 127.0.0.1:8000
document.location.hash = "step3";
openIframe(thirdPartyBaseUrl + subPathToGetCookies + "&message=Should receive no cookies.",
@@ -69,6 +74,7 @@
runTest);
break;
case "#step3":
+ console.log("Step 3.");
// Set third-party cookie for http://localhost:8000 in partition 127.0.0.1:8000
document.location.hash = "step4";
openIframe(thirdPartyBaseUrl + subPathToSetThirdPartyCookie + "&message=Setting partitioned, third-party cookie.",
@@ -75,6 +81,7 @@
runTest);
break;
case "#step4":
+ console.log("Step 4.");
// Check that only partitioned cookie get sent in partition 127.0.0.1:8000
document.location.hash = "step5";
openIframe(thirdPartyBaseUrl + subPathToGetCookies + "&message=Should only receive partitioned, third-party cookie.",
@@ -81,6 +88,7 @@
setNormalCookiePartitioningTimeOutPlusUserInteractionAndContinue);
break;
case "#step5":
+ console.log("Step 5.");
// http://localhost:8000 now has user interaction, check that un-partitioned cookie is sent for third-party
document.location.hash = "step6";
openIframe(thirdPartyBaseUrl + subPathToGetCookies + "&message=After first user interaction, should still only receive a partitioned, third-party cookie.",
@@ -87,6 +95,7 @@
setShortCookiePartitioningTimeOutPlusFireShouldPartitionCookiesHandlerAndContinue);
break;
case "#step6":
+ console.log("Step 6.");
// Cookie partitioning should be applied again
document.location.hash = "step7";
openIframe(thirdPartyBaseUrl + subPathToGetCookies + "&message=Should only receive partitioned, third-party cookie.",
@@ -93,6 +102,7 @@
setNormalCookiePartitioningTimeOutPlusUserInteractionAndContinue);
break;
case "#step7":
+ console.log("Step 7.");
// http://localhost:8000 now has fresh user interaction, check that un-partitioned cookie is sent for third-party
openIframe(thirdPartyBaseUrl + subPathToGetCookies + "&message=After second user interaction, should still only receive a partitioned, third-party cookie.",
finishTest);
@@ -101,6 +111,7 @@
}
if (document.location.hash === "" && window.testRunner && window.internals) {
+ console.log("Bootstrapping test.");
setEnableFeature(true);
// Set localhost as prevalent and with non-recent user interaction to put it in the partitioning category.