Skip to content

Commit

Permalink
Make HeadlessBrowserTestWithProxy use EmbeddedTestServer.
Browse files Browse the repository at this point in the history
It was using the SpawnedTestServer, which is slow to start, and has
been a never ending source of flake.

HeadlessBrowserTest.ServerWantsClientCertificate will continue to use
the SpawnedTestServer, since the EmbeddedTestServer does not support
client cert requests.

Bug: 492672
Change-Id: I03a511abf63ee149704c908e838275f07b4e9903
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2508652
Commit-Queue: Matt Menke <mmenke@chromium.org>
Reviewed-by: Peter Kvitek <kvitekp@chromium.org>
Cr-Commit-Position: refs/heads/master@{#822727}
  • Loading branch information
Matt Menke authored and Commit Bot committed Oct 30, 2020
1 parent 09709f1 commit a3d50f1
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 12 deletions.
12 changes: 7 additions & 5 deletions headless/lib/headless_browser_browsertest.cc
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@
#include "headless/public/headless_web_contents.h"
#include "headless/test/headless_browser_test.h"
#include "net/cert/cert_status_flags.h"
#include "net/test/embedded_test_server/embedded_test_server.h"
#include "net/test/spawned_test_server/spawned_test_server.h"
#include "testing/gmock/include/gmock/gmock.h"
#include "testing/gtest/include/gtest/gtest.h"
Expand Down Expand Up @@ -192,8 +193,9 @@ IN_PROC_BROWSER_TEST_F(HeadlessBrowserTest, CreateWithBadURL) {
class HeadlessBrowserTestWithProxy : public HeadlessBrowserTest {
public:
HeadlessBrowserTestWithProxy()
: proxy_server_(net::SpawnedTestServer::TYPE_HTTP,
base::FilePath(FILE_PATH_LITERAL("headless/test/data"))) {
: proxy_server_(net::EmbeddedTestServer::TYPE_HTTP) {
proxy_server_.AddDefaultHandlers(
base::FilePath(FILE_PATH_LITERAL("headless/test/data")));
}

void SetUp() override {
Expand All @@ -202,14 +204,14 @@ class HeadlessBrowserTestWithProxy : public HeadlessBrowserTest {
}

void TearDown() override {
proxy_server_.Stop();
EXPECT_TRUE(proxy_server_.ShutdownAndWaitUntilComplete());
HeadlessBrowserTest::TearDown();
}

net::SpawnedTestServer* proxy_server() { return &proxy_server_; }
net::EmbeddedTestServer* proxy_server() { return &proxy_server_; }

private:
net::SpawnedTestServer proxy_server_;
net::EmbeddedTestServer proxy_server_;
};

#if defined(NO_WIN_FLAKES) || (defined(OS_MAC) && defined(ADDRESS_SANITIZER))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@ Tests that headless session can configure proxy.

No proxy: Page with body
Proxied to itself: Page with body
Proxied to another server: Default response given for path: http://not-an-actual-domain.tld/hello.html
Proxied to another server: Hello headless world!
13 changes: 7 additions & 6 deletions headless/test/headless_protocol_browsertest.cc
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
#include "base/json/json_reader.h"
#include "base/path_service.h"
#include "headless/app/headless_shell_switches.h"
#include "net/test/spawned_test_server/spawned_test_server.h"
#include "net/test/embedded_test_server/embedded_test_server.h"
#include "services/network/public/cpp/network_switches.h"

namespace headless {
Expand Down Expand Up @@ -267,8 +267,9 @@ class HeadlessProtocolBrowserTestWithProxy
: public HeadlessProtocolBrowserTest {
public:
HeadlessProtocolBrowserTestWithProxy()
: proxy_server_(net::SpawnedTestServer::TYPE_HTTP,
base::FilePath(FILE_PATH_LITERAL("headless/test/data"))) {
: proxy_server_(net::EmbeddedTestServer::TYPE_HTTP) {
proxy_server_.AddDefaultHandlers(
base::FilePath(FILE_PATH_LITERAL("headless/test/data")));
}

void SetUp() override {
Expand All @@ -277,11 +278,11 @@ class HeadlessProtocolBrowserTestWithProxy
}

void TearDown() override {
proxy_server_.Stop();
EXPECT_TRUE(proxy_server_.ShutdownAndWaitUntilComplete());
HeadlessProtocolBrowserTest::TearDown();
}

net::SpawnedTestServer* proxy_server() { return &proxy_server_; }
net::EmbeddedTestServer* proxy_server() { return &proxy_server_; }

protected:
std::vector<std::string> GetPageUrlExtraParams() override {
Expand All @@ -290,7 +291,7 @@ class HeadlessProtocolBrowserTestWithProxy
}

private:
net::SpawnedTestServer proxy_server_;
net::EmbeddedTestServer proxy_server_;
};

// BeginFrameControl is not supported on MacOS yet, see: https://cs.chromium.org
Expand Down

0 comments on commit a3d50f1

Please sign in to comment.