Commit 883e2427 authored by Matt Falkenhagen's avatar Matt Falkenhagen Committed by Commit Bot

Enable ServiceWorkerNavigationPreloadTest.NetworkFallback.

I suspect the errors were that we were getting no preload request and
two fallback requests, which seems plausible based on the existing
comment. Loosen the test expectations accordingly.

Bug: 896230
Change-Id: I539b56343d5057975352f74b482b61583174fb13
Reviewed-on: https://chromium-review.googlesource.com/c/1288330
Commit-Queue: Matt Falkenhagen <falken@chromium.org>
Reviewed-by: default avatarKinuko Yasuda <kinuko@chromium.org>
Cr-Commit-Position: refs/heads/master@{#600688}
parent cdf14f5a
...@@ -2071,9 +2071,7 @@ const std::string ...@@ -2071,9 +2071,7 @@ const std::string
" result => event.source.postMessage(result)));\n" " result => event.source.postMessage(result)));\n"
" });"; " });";
// Flaky on various bots. https://crbug.com/896230 IN_PROC_BROWSER_TEST_F(ServiceWorkerNavigationPreloadTest, NetworkFallback) {
IN_PROC_BROWSER_TEST_F(ServiceWorkerNavigationPreloadTest,
DISABLED_NetworkFallback) {
const char kPageUrl[] = "/service_worker/navigation_preload.html"; const char kPageUrl[] = "/service_worker/navigation_preload.html";
const char kWorkerUrl[] = "/service_worker/navigation_preload.js"; const char kWorkerUrl[] = "/service_worker/navigation_preload.js";
const char kPage[] = "<title>PASS</title>Hello world."; const char kPage[] = "<title>PASS</title>Hello world.";
...@@ -2101,21 +2099,28 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerNavigationPreloadTest, ...@@ -2101,21 +2099,28 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerNavigationPreloadTest,
const int request_count = GetRequestCount(kPageUrl); const int request_count = GetRequestCount(kPageUrl);
ASSERT_TRUE(request_count == 1 || request_count == 2 || request_count == 3) ASSERT_TRUE(request_count == 1 || request_count == 2 || request_count == 3)
<< request_count; << request_count;
if (request_count == 1) {
// Fallback request.
EXPECT_FALSE(HasNavigationPreloadHeader(request_log_[kPageUrl][0]));
} else {
// Navigation preload request.
ASSERT_TRUE(HasNavigationPreloadHeader(request_log_[kPageUrl][0]));
EXPECT_EQ("true", GetNavigationPreloadHeader(request_log_[kPageUrl][0]));
// Fallback request.
EXPECT_FALSE(HasNavigationPreloadHeader(request_log_[kPageUrl][1]));
// Additional fallback request when the HttpCache reissues a network // So we have the following constraints:
// request. // [A] At most one navigation preload request.
if (request_count == 3) // [B] At least one and at most two fallback requests.
EXPECT_FALSE(HasNavigationPreloadHeader(request_log_[kPageUrl][2])); // [C] Fallback requests must occur after the navigation preload request.
int preload_count = 0;
int fallback_count = 0;
const auto& requests = request_log_[kPageUrl];
for (int i = 0; i < request_count; i++) {
if (HasNavigationPreloadHeader(requests[i])) {
// [C]
EXPECT_EQ(0, fallback_count);
EXPECT_EQ("true", GetNavigationPreloadHeader(requests[i]));
preload_count++;
} else {
fallback_count++;
}
} }
// [A]
EXPECT_TRUE(preload_count == 0 || preload_count == 1) << preload_count;
// [B]
EXPECT_TRUE(fallback_count == 1 || fallback_count == 2) << fallback_count;
} }
IN_PROC_BROWSER_TEST_F(ServiceWorkerNavigationPreloadTest, SetHeaderValue) { IN_PROC_BROWSER_TEST_F(ServiceWorkerNavigationPreloadTest, SetHeaderValue) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment