Commit a3d50f11 authored by Matt Menke's avatar Matt Menke Committed by Commit Bot

Make HeadlessBrowserTestWithProxy use EmbeddedTestServer.

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: default avatarPeter Kvitek <kvitekp@chromium.org>
Cr-Commit-Position: refs/heads/master@{#822727}
parent 09709f13
...@@ -35,6 +35,7 @@ ...@@ -35,6 +35,7 @@
#include "headless/public/headless_web_contents.h" #include "headless/public/headless_web_contents.h"
#include "headless/test/headless_browser_test.h" #include "headless/test/headless_browser_test.h"
#include "net/cert/cert_status_flags.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 "net/test/spawned_test_server/spawned_test_server.h"
#include "testing/gmock/include/gmock/gmock.h" #include "testing/gmock/include/gmock/gmock.h"
#include "testing/gtest/include/gtest/gtest.h" #include "testing/gtest/include/gtest/gtest.h"
...@@ -192,8 +193,9 @@ IN_PROC_BROWSER_TEST_F(HeadlessBrowserTest, CreateWithBadURL) { ...@@ -192,8 +193,9 @@ IN_PROC_BROWSER_TEST_F(HeadlessBrowserTest, CreateWithBadURL) {
class HeadlessBrowserTestWithProxy : public HeadlessBrowserTest { class HeadlessBrowserTestWithProxy : public HeadlessBrowserTest {
public: public:
HeadlessBrowserTestWithProxy() HeadlessBrowserTestWithProxy()
: proxy_server_(net::SpawnedTestServer::TYPE_HTTP, : proxy_server_(net::EmbeddedTestServer::TYPE_HTTP) {
base::FilePath(FILE_PATH_LITERAL("headless/test/data"))) { proxy_server_.AddDefaultHandlers(
base::FilePath(FILE_PATH_LITERAL("headless/test/data")));
} }
void SetUp() override { void SetUp() override {
...@@ -202,14 +204,14 @@ class HeadlessBrowserTestWithProxy : public HeadlessBrowserTest { ...@@ -202,14 +204,14 @@ class HeadlessBrowserTestWithProxy : public HeadlessBrowserTest {
} }
void TearDown() override { void TearDown() override {
proxy_server_.Stop(); EXPECT_TRUE(proxy_server_.ShutdownAndWaitUntilComplete());
HeadlessBrowserTest::TearDown(); HeadlessBrowserTest::TearDown();
} }
net::SpawnedTestServer* proxy_server() { return &proxy_server_; } net::EmbeddedTestServer* proxy_server() { return &proxy_server_; }
private: private:
net::SpawnedTestServer proxy_server_; net::EmbeddedTestServer proxy_server_;
}; };
#if defined(NO_WIN_FLAKES) || (defined(OS_MAC) && defined(ADDRESS_SANITIZER)) #if defined(NO_WIN_FLAKES) || (defined(OS_MAC) && defined(ADDRESS_SANITIZER))
......
...@@ -2,4 +2,4 @@ Tests that headless session can configure proxy. ...@@ -2,4 +2,4 @@ Tests that headless session can configure proxy.
No proxy: Page with body No proxy: Page with body
Proxied to itself: 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!
\ No newline at end of file \ No newline at end of file
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
#include "base/json/json_reader.h" #include "base/json/json_reader.h"
#include "base/path_service.h" #include "base/path_service.h"
#include "headless/app/headless_shell_switches.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" #include "services/network/public/cpp/network_switches.h"
namespace headless { namespace headless {
...@@ -267,8 +267,9 @@ class HeadlessProtocolBrowserTestWithProxy ...@@ -267,8 +267,9 @@ class HeadlessProtocolBrowserTestWithProxy
: public HeadlessProtocolBrowserTest { : public HeadlessProtocolBrowserTest {
public: public:
HeadlessProtocolBrowserTestWithProxy() HeadlessProtocolBrowserTestWithProxy()
: proxy_server_(net::SpawnedTestServer::TYPE_HTTP, : proxy_server_(net::EmbeddedTestServer::TYPE_HTTP) {
base::FilePath(FILE_PATH_LITERAL("headless/test/data"))) { proxy_server_.AddDefaultHandlers(
base::FilePath(FILE_PATH_LITERAL("headless/test/data")));
} }
void SetUp() override { void SetUp() override {
...@@ -277,11 +278,11 @@ class HeadlessProtocolBrowserTestWithProxy ...@@ -277,11 +278,11 @@ class HeadlessProtocolBrowserTestWithProxy
} }
void TearDown() override { void TearDown() override {
proxy_server_.Stop(); EXPECT_TRUE(proxy_server_.ShutdownAndWaitUntilComplete());
HeadlessProtocolBrowserTest::TearDown(); HeadlessProtocolBrowserTest::TearDown();
} }
net::SpawnedTestServer* proxy_server() { return &proxy_server_; } net::EmbeddedTestServer* proxy_server() { return &proxy_server_; }
protected: protected:
std::vector<std::string> GetPageUrlExtraParams() override { std::vector<std::string> GetPageUrlExtraParams() override {
...@@ -290,7 +291,7 @@ class HeadlessProtocolBrowserTestWithProxy ...@@ -290,7 +291,7 @@ class HeadlessProtocolBrowserTestWithProxy
} }
private: private:
net::SpawnedTestServer proxy_server_; net::EmbeddedTestServer proxy_server_;
}; };
// BeginFrameControl is not supported on MacOS yet, see: https://cs.chromium.org // BeginFrameControl is not supported on MacOS yet, see: https://cs.chromium.org
......
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