summaryrefslogtreecommitdiff
path: root/chromium/net/test
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2017-04-05 14:08:31 +0200
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2017-04-11 07:46:53 +0000
commit6a4cabb866f66d4128a97cdc6d9d08ce074f1247 (patch)
treeab00f70a5e89278d6a0d16ff0c42578dc4d84a2d /chromium/net/test
parente733310db58160074f574c429d48f8308c0afe17 (diff)
downloadqtwebengine-chromium-6a4cabb866f66d4128a97cdc6d9d08ce074f1247.tar.gz
BASELINE: Update Chromium to 57.0.2987.144
Change-Id: I29db402ff696c71a04c4dbaec822c2e53efe0267 Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
Diffstat (limited to 'chromium/net/test')
-rw-r--r--chromium/net/test/cert_test_util.h4
-rw-r--r--chromium/net/test/ct_test_util.h6
-rw-r--r--chromium/net/test/embedded_test_server/embedded_test_server.cc58
-rw-r--r--chromium/net/test/embedded_test_server/embedded_test_server.h11
-rw-r--r--chromium/net/test/embedded_test_server/embedded_test_server_unittest.cc7
-rw-r--r--chromium/net/test/embedded_test_server/http_connection.h1
-rw-r--r--chromium/net/test/embedded_test_server/http_request.cc3
-rw-r--r--chromium/net/test/embedded_test_server/http_request.h2
-rw-r--r--chromium/net/test/embedded_test_server/http_request_unittest.cc14
-rw-r--r--chromium/net/test/gtest_util.h33
-rw-r--r--chromium/net/test/python_utils.cc11
-rw-r--r--chromium/net/test/python_utils.h3
-rw-r--r--chromium/net/test/run_all_unittests.cc36
-rw-r--r--chromium/net/test/spawned_test_server/base_test_server.cc7
-rw-r--r--chromium/net/test/spawned_test_server/base_test_server.h4
-rw-r--r--chromium/net/test/spawned_test_server/local_test_server.cc18
-rw-r--r--chromium/net/test/spawned_test_server/local_test_server_win.cc1
-rw-r--r--chromium/net/test/spawned_test_server/remote_test_server.cc1
-rw-r--r--chromium/net/test/spawned_test_server/remote_test_server.h1
-rw-r--r--chromium/net/test/spawned_test_server/spawned_test_server.h1
-rw-r--r--chromium/net/test/spawned_test_server/spawner_communicator.cc2
-rw-r--r--chromium/net/test/test_certificate_data.h5
-rw-r--r--chromium/net/test/url_request/url_request_failed_job.cc9
-rw-r--r--chromium/net/test/url_request/url_request_failed_job.h2
-rw-r--r--chromium/net/test/url_request/url_request_hanging_read_job.cc2
-rw-r--r--chromium/net/test/url_request/url_request_hanging_read_job.h6
-rw-r--r--chromium/net/test/url_request/url_request_mock_data_job.h6
-rw-r--r--chromium/net/test/url_request/url_request_mock_http_job.cc1
28 files changed, 196 insertions, 59 deletions
diff --git a/chromium/net/test/cert_test_util.h b/chromium/net/test/cert_test_util.h
index 219ccd87257..f948bd8b06c 100644
--- a/chromium/net/test/cert_test_util.h
+++ b/chromium/net/test/cert_test_util.h
@@ -20,10 +20,6 @@ namespace base {
class FilePath;
}
-namespace crypto {
-class RSAPrivateKey;
-}
-
namespace net {
class EVRootCAMetadata;
diff --git a/chromium/net/test/ct_test_util.h b/chromium/net/test/ct_test_util.h
index 7a52becfce1..d39079690ad 100644
--- a/chromium/net/test/ct_test_util.h
+++ b/chromium/net/test/ct_test_util.h
@@ -2,8 +2,8 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#ifndef NET_CERT_CT_TEST_UTIL_H_
-#define NET_CERT_CT_TEST_UTIL_H_
+#ifndef NET_TEST_CT_TEST_UTIL_H_
+#define NET_TEST_CT_TEST_UTIL_H_
#include <stddef.h>
#include <stdint.h>
@@ -132,4 +132,4 @@ bool CheckForSCTOrigin(const SignedCertificateTimestampAndStatusList& scts,
} // namespace net
-#endif // NET_CERT_CT_TEST_UTIL_H_
+#endif // NET_TEST_CT_TEST_UTIL_H_
diff --git a/chromium/net/test/embedded_test_server/embedded_test_server.cc b/chromium/net/test/embedded_test_server/embedded_test_server.cc
index 7f861d674c0..0f89bd9c9e4 100644
--- a/chromium/net/test/embedded_test_server/embedded_test_server.cc
+++ b/chromium/net/test/embedded_test_server/embedded_test_server.cc
@@ -23,6 +23,7 @@
#include "crypto/rsa_private_key.h"
#include "net/base/ip_endpoint.h"
#include "net/base/net_errors.h"
+#include "net/base/port_util.h"
#include "net/cert/pem_tokenizer.h"
#include "net/cert/test_root_certs.h"
#include "net/log/net_log_source.h"
@@ -92,21 +93,38 @@ bool EmbeddedTestServer::Start() {
bool EmbeddedTestServer::InitializeAndListen() {
DCHECK(!Started());
- listen_socket_.reset(new TCPServerSocket(nullptr, NetLogSource()));
+ const int max_tries = 5;
+ int num_tries = 0;
+ bool is_valid_port = false;
- int result = listen_socket_->ListenWithAddressAndPort("127.0.0.1", 0, 10);
- if (result) {
- LOG(ERROR) << "Listen failed: " << ErrorToString(result);
- listen_socket_.reset();
- return false;
- }
+ do {
+ if (++num_tries > max_tries) {
+ LOG(ERROR) << "Failed to listen on a valid port after " << max_tries
+ << " attempts.";
+ listen_socket_.reset();
+ return false;
+ }
- result = listen_socket_->GetLocalAddress(&local_endpoint_);
- if (result != OK) {
- LOG(ERROR) << "GetLocalAddress failed: " << ErrorToString(result);
- listen_socket_.reset();
- return false;
- }
+ listen_socket_.reset(new TCPServerSocket(nullptr, NetLogSource()));
+
+ int result = listen_socket_->ListenWithAddressAndPort("127.0.0.1", 0, 10);
+ if (result) {
+ LOG(ERROR) << "Listen failed: " << ErrorToString(result);
+ listen_socket_.reset();
+ return false;
+ }
+
+ result = listen_socket_->GetLocalAddress(&local_endpoint_);
+ if (result != OK) {
+ LOG(ERROR) << "GetLocalAddress failed: " << ErrorToString(result);
+ listen_socket_.reset();
+ return false;
+ }
+
+ port_ = local_endpoint_.port();
+ is_valid_port |= net::IsPortAllowedForScheme(
+ port_, is_using_ssl_ ? url::kHttpsScheme : url::kHttpScheme);
+ } while (!is_valid_port);
if (is_using_ssl_) {
base_url_ = GURL("https://" + local_endpoint_.ToString());
@@ -117,7 +135,6 @@ bool EmbeddedTestServer::InitializeAndListen() {
} else {
base_url_ = GURL("http://" + local_endpoint_.ToString());
}
- port_ = local_endpoint_.port();
listen_socket_->DetachFromThread();
@@ -177,6 +194,7 @@ void EmbeddedTestServer::ShutdownOnIOThread() {
void EmbeddedTestServer::HandleRequest(HttpConnection* connection,
std::unique_ptr<HttpRequest> request) {
DCHECK(io_thread_->task_runner()->BelongsToCurrentThread());
+ request->base_url = base_url_;
for (const auto& monitor : request_monitors_)
monitor.Run(*request);
@@ -297,22 +315,22 @@ void EmbeddedTestServer::AddDefaultHandlers(const base::FilePath& directory) {
void EmbeddedTestServer::RegisterRequestHandler(
const HandleRequestCallback& callback) {
- // TODO(svaldez): Add check to prevent RegisterRequestHandler from being
- // called after the server has started. https://crbug.com/546060
+ DCHECK(!io_thread_.get())
+ << "Handlers must be registered before starting the server.";
request_handlers_.push_back(callback);
}
void EmbeddedTestServer::RegisterRequestMonitor(
const MonitorRequestCallback& callback) {
- // TODO(svaldez): Add check to prevent RegisterRequestMonitor from being
- // called after the server has started. https://crbug.com/546060
+ DCHECK(!io_thread_.get())
+ << "Monitors must be registered before starting the server.";
request_monitors_.push_back(callback);
}
void EmbeddedTestServer::RegisterDefaultHandler(
const HandleRequestCallback& callback) {
- // TODO(svaldez): Add check to prevent RegisterDefaultHandler from being
- // called after the server has started. https://crbug.com/546060
+ DCHECK(!io_thread_.get())
+ << "Handlers must be registered before starting the server.";
default_request_handlers_.push_back(callback);
}
diff --git a/chromium/net/test/embedded_test_server/embedded_test_server.h b/chromium/net/test/embedded_test_server/embedded_test_server.h
index bc34d0a3f01..f2a93072720 100644
--- a/chromium/net/test/embedded_test_server/embedded_test_server.h
+++ b/chromium/net/test/embedded_test_server/embedded_test_server.h
@@ -205,16 +205,21 @@ class EmbeddedTestServer {
// The most general purpose method. Any request processing can be added using
// this method. Takes ownership of the object. The |callback| is called
- // on the server's IO thread.
+ // on the server's IO thread so all handlers must be registered before the
+ // server is started.
void RegisterRequestHandler(const HandleRequestCallback& callback);
// Adds request monitors. The |callback| is called before any handlers are
// called, but can not respond it. This is useful to monitor requests that
- // will be handled by other request handlers.
+ // will be handled by other request handlers. The |callback| is called
+ // on the server's IO thread so all monitors must be registered before the
+ // server is started.
void RegisterRequestMonitor(const MonitorRequestCallback& callback);
// Adds default handlers, including those added by AddDefaultHandlers, to be
- // tried after all other user-specified handlers have been tried.
+ // tried after all other user-specified handlers have been tried. The
+ // |callback| is called on the server's IO thread so all handlers must be
+ // registered before the server is started.
void RegisterDefaultHandler(const HandleRequestCallback& callback);
bool FlushAllSocketsAndConnectionsOnUIThread();
diff --git a/chromium/net/test/embedded_test_server/embedded_test_server_unittest.cc b/chromium/net/test/embedded_test_server/embedded_test_server_unittest.cc
index 31c66f4489c..dae43e9709c 100644
--- a/chromium/net/test/embedded_test_server/embedded_test_server_unittest.cc
+++ b/chromium/net/test/embedded_test_server/embedded_test_server_unittest.cc
@@ -15,6 +15,7 @@
#include "base/strings/stringprintf.h"
#include "base/synchronization/lock.h"
#include "base/threading/thread.h"
+#include "base/threading/thread_task_runner_handle.h"
#include "crypto/nss_util.h"
#include "net/base/test_completion_callback.h"
#include "net/http/http_response_headers.h"
@@ -179,9 +180,9 @@ class EmbeddedTestServerTest
HttpStatusCode code,
const HttpRequest& request) {
request_relative_url_ = request.relative_url;
+ request_absolute_url_ = request.GetURL();
- GURL absolute_url = server_->GetURL(request.relative_url);
- if (absolute_url.path() == path) {
+ if (request_absolute_url_.path() == path) {
std::unique_ptr<BasicHttpResponse> http_response(new BasicHttpResponse);
http_response->set_code(code);
http_response->set_content(content);
@@ -196,6 +197,7 @@ class EmbeddedTestServerTest
int num_responses_received_;
int num_responses_expected_;
std::string request_relative_url_;
+ GURL request_absolute_url_;
base::Thread io_thread_;
scoped_refptr<TestURLRequestContextGetter> request_context_getter_;
TestConnectionListener connection_listener_;
@@ -261,6 +263,7 @@ TEST_P(EmbeddedTestServerTest, RegisterRequestHandler) {
EXPECT_EQ("text/html", GetContentTypeFromFetcher(*fetcher));
EXPECT_EQ("/test?q=foo", request_relative_url_);
+ EXPECT_EQ(server_->GetURL("/test?q=foo"), request_absolute_url_);
}
TEST_P(EmbeddedTestServerTest, ServeFilesFromDirectory) {
diff --git a/chromium/net/test/embedded_test_server/http_connection.h b/chromium/net/test/embedded_test_server/http_connection.h
index 0b87fcb218d..ab7d96f50a5 100644
--- a/chromium/net/test/embedded_test_server/http_connection.h
+++ b/chromium/net/test/embedded_test_server/http_connection.h
@@ -24,7 +24,6 @@ class StreamSocket;
namespace test_server {
class HttpConnection;
-class HttpResponse;
// Calblack called when a request is parsed. Response should be sent
// using HttpConnection::SendResponse() on the |connection| argument.
diff --git a/chromium/net/test/embedded_test_server/http_request.cc b/chromium/net/test/embedded_test_server/http_request.cc
index 2c247c614a9..ef624dcc8b0 100644
--- a/chromium/net/test/embedded_test_server/http_request.cc
+++ b/chromium/net/test/embedded_test_server/http_request.cc
@@ -40,7 +40,8 @@ HttpRequest::~HttpRequest() {
}
GURL HttpRequest::GetURL() const {
- // TODO(svaldez): Use real URL from the EmbeddedTestServer.
+ if (base_url.is_valid())
+ return base_url.Resolve(relative_url);
return GURL("http://localhost" + relative_url);
}
diff --git a/chromium/net/test/embedded_test_server/http_request.h b/chromium/net/test/embedded_test_server/http_request.h
index b58f7749d8e..864c094a104 100644
--- a/chromium/net/test/embedded_test_server/http_request.h
+++ b/chromium/net/test/embedded_test_server/http_request.h
@@ -53,10 +53,10 @@ struct HttpRequest {
~HttpRequest();
// Returns a GURL as a convenience to extract the path and query strings.
- // TODO(svaldez): Use provided URL if available.
GURL GetURL() const;
std::string relative_url; // Starts with '/'. Example: "/test?query=foo"
+ GURL base_url;
HttpMethod method;
std::string method_string;
std::string all_headers;
diff --git a/chromium/net/test/embedded_test_server/http_request_unittest.cc b/chromium/net/test/embedded_test_server/http_request_unittest.cc
index 64761cfb7fb..d0e534f4e0a 100644
--- a/chromium/net/test/embedded_test_server/http_request_unittest.cc
+++ b/chromium/net/test/embedded_test_server/http_request_unittest.cc
@@ -145,5 +145,19 @@ TEST(HttpRequestTest, ParseGet) {
EXPECT_FALSE(request->has_content);
}
+TEST(HttpRequestTest, GetURL) {
+ HttpRequest request;
+ request.relative_url = "/foobar.html?q=foo";
+ request.base_url = GURL("https://127.0.0.1:8080");
+ EXPECT_EQ("https://127.0.0.1:8080/foobar.html?q=foo",
+ request.GetURL().spec());
+}
+
+TEST(HttpRequestTest, GetURLFallback) {
+ HttpRequest request;
+ request.relative_url = "/foobar.html?q=foo";
+ EXPECT_EQ("http://localhost/foobar.html?q=foo", request.GetURL().spec());
+}
+
} // namespace test_server
} // namespace net
diff --git a/chromium/net/test/gtest_util.h b/chromium/net/test/gtest_util.h
index 22d82b0bfa9..dec0bb9b396 100644
--- a/chromium/net/test/gtest_util.h
+++ b/chromium/net/test/gtest_util.h
@@ -7,9 +7,14 @@
#ifndef NET_TEST_GTEST_UTIL_H_
#define NET_TEST_GTEST_UTIL_H_
+#include <string>
+
+#include "base/macros.h"
+#include "base/strings/string_piece.h"
#include "base/test/mock_log.h"
#include "net/base/net_errors.h"
#include "net/test/scoped_disable_exit_on_dfatal.h"
+#include "testing/gmock/include/gmock/gmock-matchers.h"
#include "testing/gmock/include/gmock/gmock.h"
#include "testing/gtest/include/gtest/gtest.h"
@@ -36,6 +41,34 @@ MATCHER(IsOk,
return arg == net::OK;
}
+// A gMock matcher for base::StringPiece arguments.
+// gMock's built-in HasSubstrMatcher does not work,
+// because base::StringPiece cannot be implicitly converted to std::string.
+class StringPieceHasSubstrMatcher {
+ public:
+ explicit StringPieceHasSubstrMatcher(const std::string& substring)
+ : substring_(substring) {}
+
+ bool MatchAndExplain(base::StringPiece s,
+ ::testing::MatchResultListener* listener) const {
+ return s.as_string().find(substring_) != std::string::npos;
+ }
+
+ // Describe what this matcher matches.
+ void DescribeTo(std::ostream* os) const {
+ *os << "has substring " << substring_;
+ }
+
+ void DescribeNegationTo(std::ostream* os) const {
+ *os << "has no substring " << substring_;
+ }
+
+ private:
+ const std::string substring_;
+
+ DISALLOW_ASSIGN(StringPieceHasSubstrMatcher);
+};
+
// Internal implementation for the EXPECT_DFATAL and ASSERT_DFATAL
// macros. Do not use this directly.
#define GTEST_DFATAL_(statement, severity, matcher, fail) \
diff --git a/chromium/net/test/python_utils.cc b/chromium/net/test/python_utils.cc
index 868abbb4e35..57429626b17 100644
--- a/chromium/net/test/python_utils.cc
+++ b/chromium/net/test/python_utils.cc
@@ -23,6 +23,7 @@
#endif
const char kPythonPathEnv[] = "PYTHONPATH";
+const char kPythonVirtualEnv[] = "VIRTUAL_ENV";
void ClearPythonPath() {
std::unique_ptr<base::Environment> env(base::Environment::Create());
@@ -102,6 +103,10 @@ struct PythonExePath {
static base::LazyInstance<PythonExePath>::Leaky g_python_path;
#endif
+bool IsInPythonVirtualEnv() {
+ return base::Environment::Create()->HasVar(kPythonVirtualEnv);
+}
+
bool GetPythonCommand(base::CommandLine* python_cmd) {
DCHECK(python_cmd);
@@ -121,8 +126,10 @@ bool GetPythonCommand(base::CommandLine* python_cmd) {
// gtest output in buildbot log files. See http://crbug.com/147368.
python_cmd->AppendArg("-u");
- // Prevent using system-installed libraries. Use hermetic versioned copies.
- python_cmd->AppendArg("-S");
+ if (!IsInPythonVirtualEnv()) {
+ // Prevent using system-installed libraries. Use hermetic versioned copies.
+ python_cmd->AppendArg("-S");
+ }
return true;
}
diff --git a/chromium/net/test/python_utils.h b/chromium/net/test/python_utils.h
index c72c9445dcb..aba4addddca 100644
--- a/chromium/net/test/python_utils.h
+++ b/chromium/net/test/python_utils.h
@@ -24,6 +24,9 @@ void AppendToPythonPath(const base::FilePath& dir);
// Return the location of the compiler-generated python protobuf.
bool GetPyProtoPath(base::FilePath* dir);
+// Returns if a virtualenv is currently active.
+bool IsInPythonVirtualEnv();
+
// Returns the command that should be used to launch Python.
bool GetPythonCommand(base::CommandLine* python_cmd) WARN_UNUSED_RESULT;
diff --git a/chromium/net/test/run_all_unittests.cc b/chromium/net/test/run_all_unittests.cc
index 604888e07f2..78307f756b0 100644
--- a/chromium/net/test/run_all_unittests.cc
+++ b/chromium/net/test/run_all_unittests.cc
@@ -2,6 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
+#include "base/build_time.h"
#include "base/metrics/statistics_recorder.h"
#include "base/test/launcher/unit_test_launcher.h"
#include "build/build_config.h"
@@ -23,6 +24,38 @@
using net::internal::ClientSocketPoolBaseHelper;
+namespace {
+
+bool VerifyBuildIsTimely() {
+ // This lines up with various //net security features, like Certificate
+ // Transparency or HPKP, in that they require the build time be less than 70
+ // days old. Moreover, operating on the assumption that tests are run against
+ // recently compiled builds, this also serves as a sanity check for the
+ // system clock, which should be close to the build date.
+ base::TimeDelta kMaxAge = base::TimeDelta::FromDays(70);
+
+ base::Time build_time = base::GetBuildTime();
+ base::Time now = base::Time::Now();
+
+ if ((now - build_time).magnitude() <= kMaxAge)
+ return true;
+
+ std::cerr
+ << "ERROR: This build is more than " << kMaxAge.InDays()
+ << " days out of date.\n"
+ "This could indicate a problem with the device's clock, or the build "
+ "is simply too old.\n"
+ "See crbug.com/666821 for why this is a problem\n"
+ << " base::Time::Now() --> " << now << " (" << now.ToInternalValue()
+ << ")\n"
+ << " base::GetBuildTime() --> " << build_time << " ("
+ << build_time.ToInternalValue() << ")\n";
+
+ return false;
+}
+
+} // namespace
+
int main(int argc, char** argv) {
// Record histograms, so we can get histograms data in tests.
base::StatisticsRecorder::Initialize();
@@ -42,6 +75,9 @@ int main(int argc, char** argv) {
arraysize(kNetTestRegisteredMethods));
#endif
+ if (!VerifyBuildIsTimely())
+ return 1;
+
NetTestSuite test_suite(argc, argv);
ClientSocketPoolBaseHelper::set_connect_backup_jobs_enabled(false);
diff --git a/chromium/net/test/spawned_test_server/base_test_server.cc b/chromium/net/test/spawned_test_server/base_test_server.cc
index 87838c10a06..c3ffc07bc58 100644
--- a/chromium/net/test/spawned_test_server/base_test_server.cc
+++ b/chromium/net/test/spawned_test_server/base_test_server.cc
@@ -224,6 +224,7 @@ base::FilePath BaseTestServer::SSLOptions::GetCertificateFile() const {
case CERT_BAD_VALIDITY:
return base::FilePath(FILE_PATH_LITERAL("bad_validity.pem"));
case CERT_AUTO:
+ case CERT_AUTO_AIA_INTERMEDIATE:
return base::FilePath();
default:
NOTREACHED();
@@ -481,7 +482,7 @@ bool BaseTestServer::ParseServerData(const std::string& server_data) {
VLOG(1) << "Server data: " << server_data;
base::JSONReader json_reader;
std::unique_ptr<base::Value> value(json_reader.ReadToValue(server_data));
- if (!value.get() || !value->IsType(base::Value::TYPE_DICTIONARY)) {
+ if (!value.get() || !value->IsType(base::Value::Type::DICTIONARY)) {
LOG(ERROR) << "Could not parse server data: "
<< json_reader.GetErrorMessage();
return false;
@@ -592,6 +593,10 @@ bool BaseTestServer::GenerateArguments(base::DictionaryValue* arguments) const {
if (type_ == TYPE_HTTPS) {
arguments->Set("https", base::Value::CreateNullValue());
+ if (ssl_options_.server_certificate ==
+ SSLOptions::CERT_AUTO_AIA_INTERMEDIATE)
+ arguments->Set("aia-intermediate", base::Value::CreateNullValue());
+
std::string ocsp_arg = ssl_options_.GetOCSPArgument();
if (!ocsp_arg.empty())
arguments->SetString("ocsp", ocsp_arg);
diff --git a/chromium/net/test/spawned_test_server/base_test_server.h b/chromium/net/test/spawned_test_server/base_test_server.h
index 24a119b6447..60a9c3b63e2 100644
--- a/chromium/net/test/spawned_test_server/base_test_server.h
+++ b/chromium/net/test/spawned_test_server/base_test_server.h
@@ -58,6 +58,10 @@ class BaseTestServer {
// CERT_AUTO causes the testserver to generate a test certificate issued
// by "Testing CA" (see net/data/ssl/certificates/ocsp-test-root.pem).
CERT_AUTO,
+ // Generate an intermediate cert issued by "Testing CA", and generate a
+ // test certificate issued by that intermediate with an AIA record for
+ // retrieving the intermediate.
+ CERT_AUTO_AIA_INTERMEDIATE,
CERT_MISMATCHED_NAME,
CERT_EXPIRED,
diff --git a/chromium/net/test/spawned_test_server/local_test_server.cc b/chromium/net/test/spawned_test_server/local_test_server.cc
index 30211667249..70ea7a9450c 100644
--- a/chromium/net/test/spawned_test_server/local_test_server.cc
+++ b/chromium/net/test/spawned_test_server/local_test_server.cc
@@ -25,17 +25,17 @@ bool AppendArgumentFromJSONValue(const std::string& key,
base::CommandLine* command_line) {
std::string argument_name = "--" + key;
switch (value_node.GetType()) {
- case base::Value::TYPE_NULL:
+ case base::Value::Type::NONE:
command_line->AppendArg(argument_name);
break;
- case base::Value::TYPE_INTEGER: {
+ case base::Value::Type::INTEGER: {
int value;
bool result = value_node.GetAsInteger(&value);
DCHECK(result);
command_line->AppendArg(argument_name + "=" + base::IntToString(value));
break;
}
- case base::Value::TYPE_STRING: {
+ case base::Value::Type::STRING: {
std::string value;
bool result = value_node.GetAsString(&value);
if (!result || value.empty())
@@ -43,11 +43,11 @@ bool AppendArgumentFromJSONValue(const std::string& key,
command_line->AppendArg(argument_name + "=" + value);
break;
}
- case base::Value::TYPE_BOOLEAN:
- case base::Value::TYPE_DOUBLE:
- case base::Value::TYPE_LIST:
- case base::Value::TYPE_DICTIONARY:
- case base::Value::TYPE_BINARY:
+ case base::Value::Type::BOOLEAN:
+ case base::Value::Type::DOUBLE:
+ case base::Value::Type::LIST:
+ case base::Value::Type::DICTIONARY:
+ case base::Value::Type::BINARY:
default:
NOTREACHED() << "improper json type";
return false;
@@ -207,7 +207,7 @@ bool LocalTestServer::AddCommandLineArguments(
const std::string& key = it.key();
// Add arguments from a list.
- if (value.IsType(base::Value::TYPE_LIST)) {
+ if (value.IsType(base::Value::Type::LIST)) {
const base::ListValue* list = NULL;
if (!value.GetAsList(&list) || !list || list->empty())
return false;
diff --git a/chromium/net/test/spawned_test_server/local_test_server_win.cc b/chromium/net/test/spawned_test_server/local_test_server_win.cc
index 6f325e064c0..65d554eba25 100644
--- a/chromium/net/test/spawned_test_server/local_test_server_win.cc
+++ b/chromium/net/test/spawned_test_server/local_test_server_win.cc
@@ -164,4 +164,3 @@ bool LocalTestServer::WaitToStart() {
}
} // namespace net
-
diff --git a/chromium/net/test/spawned_test_server/remote_test_server.cc b/chromium/net/test/spawned_test_server/remote_test_server.cc
index 1baab8ceab6..17dc21eba2b 100644
--- a/chromium/net/test/spawned_test_server/remote_test_server.cc
+++ b/chromium/net/test/spawned_test_server/remote_test_server.cc
@@ -248,4 +248,3 @@ bool RemoteTestServer::Init(const base::FilePath& document_root) {
}
} // namespace net
-
diff --git a/chromium/net/test/spawned_test_server/remote_test_server.h b/chromium/net/test/spawned_test_server/remote_test_server.h
index 788f68d2fb5..224c0cd6a11 100644
--- a/chromium/net/test/spawned_test_server/remote_test_server.h
+++ b/chromium/net/test/spawned_test_server/remote_test_server.h
@@ -69,4 +69,3 @@ class RemoteTestServer : public BaseTestServer {
} // namespace net
#endif // NET_TEST_SPAWNED_TEST_SERVER_REMOTE_TEST_SERVER_H_
-
diff --git a/chromium/net/test/spawned_test_server/spawned_test_server.h b/chromium/net/test/spawned_test_server/spawned_test_server.h
index 9bf5831d503..aa4e37a7b38 100644
--- a/chromium/net/test/spawned_test_server/spawned_test_server.h
+++ b/chromium/net/test/spawned_test_server/spawned_test_server.h
@@ -24,4 +24,3 @@ typedef LocalTestServer SpawnedTestServer;
} // namespace net
#endif // NET_TEST_SPAWNED_TEST_SERVER_SPAWNED_TEST_SERVER_H_
-
diff --git a/chromium/net/test/spawned_test_server/spawner_communicator.cc b/chromium/net/test/spawned_test_server/spawner_communicator.cc
index 3a1566db4cf..0f294a3c004 100644
--- a/chromium/net/test/spawned_test_server/spawner_communicator.cc
+++ b/chromium/net/test/spawned_test_server/spawner_communicator.cc
@@ -355,7 +355,7 @@ bool SpawnerCommunicator::StartServer(const std::string& arguments,
// Check whether the data returned from spawner server is JSON-formatted.
std::unique_ptr<base::Value> value =
base::JSONReader::Read(server_return_data);
- if (!value.get() || !value->IsType(base::Value::TYPE_DICTIONARY)) {
+ if (!value.get() || !value->IsType(base::Value::Type::DICTIONARY)) {
LOG(ERROR) << "Invalid server data: " << server_return_data.c_str();
return false;
}
diff --git a/chromium/net/test/test_certificate_data.h b/chromium/net/test/test_certificate_data.h
index a2e26a56e11..8c77e2f2c1d 100644
--- a/chromium/net/test/test_certificate_data.h
+++ b/chromium/net/test/test_certificate_data.h
@@ -2,6 +2,9 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
+#ifndef NET_TEST_TEST_CERTIFICATE_DATA_H_
+#define NET_TEST_TEST_CERTIFICATE_DATA_H_
+
#include <stdint.h>
namespace {
@@ -782,3 +785,5 @@ const uint8_t VARIABLE_IS_NOT_USED MITDN[] = {
0x6C, 0x69, 0x65, 0x6E, 0x74, 0x20, 0x43, 0x41, 0x20, 0x76, 0x31};
} // namespace
+
+#endif // NET_TEST_TEST_CERTIFICATE_DATA_H_
diff --git a/chromium/net/test/url_request/url_request_failed_job.cc b/chromium/net/test/url_request/url_request_failed_job.cc
index 3e1e5664934..1de2910eb3f 100644
--- a/chromium/net/test/url_request/url_request_failed_job.cc
+++ b/chromium/net/test/url_request/url_request_failed_job.cc
@@ -84,6 +84,7 @@ URLRequestFailedJob::URLRequestFailedJob(URLRequest* request,
: URLRequestJob(request, network_delegate),
phase_(phase),
net_error_(net_error),
+ total_received_bytes_(0),
weak_factory_(this) {
CHECK_GE(phase, URLRequestFailedJob::FailurePhase::START);
CHECK_LE(phase, URLRequestFailedJob::FailurePhase::READ_ASYNC);
@@ -131,6 +132,10 @@ void URLRequestFailedJob::PopulateNetErrorDetails(
}
}
+int64_t URLRequestFailedJob::GetTotalReceivedBytes() const {
+ return total_received_bytes_;
+}
+
// static
void URLRequestFailedJob::AddUrlHandler() {
return AddUrlHandlerForHostname(kMockHostname);
@@ -190,7 +195,9 @@ void URLRequestFailedJob::StartAsync() {
}
return;
}
- response_info_.headers = new net::HttpResponseHeaders("HTTP/1.1 200 OK");
+ const std::string headers = "HTTP/1.1 200 OK";
+ response_info_.headers = new net::HttpResponseHeaders(headers);
+ total_received_bytes_ = headers.size();
NotifyHeadersComplete();
}
diff --git a/chromium/net/test/url_request/url_request_failed_job.h b/chromium/net/test/url_request/url_request_failed_job.h
index 14c7efc9f5a..0c11c66dc86 100644
--- a/chromium/net/test/url_request/url_request_failed_job.h
+++ b/chromium/net/test/url_request/url_request_failed_job.h
@@ -44,6 +44,7 @@ class URLRequestFailedJob : public URLRequestJob {
int GetResponseCode() const override;
void GetResponseInfo(HttpResponseInfo* info) override;
void PopulateNetErrorDetails(NetErrorDetails* details) const override;
+ int64_t GetTotalReceivedBytes() const override;
// Adds the testing URLs to the URLRequestFilter.
static void AddUrlHandler();
@@ -79,6 +80,7 @@ class URLRequestFailedJob : public URLRequestJob {
HttpResponseInfo response_info_;
const FailurePhase phase_;
const int net_error_;
+ int64_t total_received_bytes_;
base::WeakPtrFactory<URLRequestFailedJob> weak_factory_;
diff --git a/chromium/net/test/url_request/url_request_hanging_read_job.cc b/chromium/net/test/url_request/url_request_hanging_read_job.cc
index 74c680f2418..5223b297b45 100644
--- a/chromium/net/test/url_request/url_request_hanging_read_job.cc
+++ b/chromium/net/test/url_request/url_request_hanging_read_job.cc
@@ -92,6 +92,8 @@ void URLRequestHangingReadJob::GetResponseInfoConst(
}
void URLRequestHangingReadJob::StartAsync() {
+ if (is_done())
+ return;
set_expected_content_size(content_length_);
NotifyHeadersComplete();
}
diff --git a/chromium/net/test/url_request/url_request_hanging_read_job.h b/chromium/net/test/url_request/url_request_hanging_read_job.h
index 62213f29262..f5eba1ef2c7 100644
--- a/chromium/net/test/url_request/url_request_hanging_read_job.h
+++ b/chromium/net/test/url_request/url_request_hanging_read_job.h
@@ -2,8 +2,8 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#ifndef NET_URL_REQUEST_URL_REQUEST_HANGING_READ_JOB_H_
-#define NET_URL_REQUEST_URL_REQUEST_HANGING_READ_JOB_H_
+#ifndef NET_TEST_URL_REQUEST_URL_REQUEST_HANGING_READ_JOB_H_
+#define NET_TEST_URL_REQUEST_URL_REQUEST_HANGING_READ_JOB_H_
#include "base/macros.h"
#include "base/memory/weak_ptr.h"
@@ -44,4 +44,4 @@ class URLRequestHangingReadJob : public URLRequestJob {
} // namespace net
-#endif // NET_URL_REQUEST_URL_REQUEST_SIMPLE_JOB_H_
+#endif // NET_TEST_URL_REQUEST_URL_REQUEST_HANGING_READ_JOB_H_
diff --git a/chromium/net/test/url_request/url_request_mock_data_job.h b/chromium/net/test/url_request/url_request_mock_data_job.h
index 27f3a0953f0..0324201c599 100644
--- a/chromium/net/test/url_request/url_request_mock_data_job.h
+++ b/chromium/net/test/url_request/url_request_mock_data_job.h
@@ -2,8 +2,8 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#ifndef NET_URL_REQUEST_URL_REQUEST_MOCK_DATA_JOB_H_
-#define NET_URL_REQUEST_URL_REQUEST_MOCK_DATA_JOB_H_
+#ifndef NET_TEST_URL_REQUEST_URL_REQUEST_MOCK_DATA_JOB_H_
+#define NET_TEST_URL_REQUEST_URL_REQUEST_MOCK_DATA_JOB_H_
#include <stddef.h>
@@ -71,4 +71,4 @@ class URLRequestMockDataJob : public URLRequestJob {
} // namespace net
-#endif // NET_URL_REQUEST_URL_REQUEST_SIMPLE_JOB_H_
+#endif // NET_TEST_URL_REQUEST_URL_REQUEST_MOCK_DATA_JOB_H_
diff --git a/chromium/net/test/url_request/url_request_mock_http_job.cc b/chromium/net/test/url_request/url_request_mock_http_job.cc
index 5317b846ed0..7fdcfaaf901 100644
--- a/chromium/net/test/url_request/url_request_mock_http_job.cc
+++ b/chromium/net/test/url_request/url_request_mock_http_job.cc
@@ -184,6 +184,7 @@ void URLRequestMockHTTPJob::SetHeadersAndStart(const std::string& raw_headers) {
// ParseRawHeaders expects \0 to end each header line.
base::ReplaceSubstringsAfterOffset(
&raw_headers_, 0, "\n", base::StringPiece("\0", 1));
+ total_received_bytes_ += raw_headers_.size();
URLRequestFileJob::Start();
}