Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "net/test/test_server.h" | 5 #include "net/test/test_server.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 #include <string> | 8 #include <string> |
| 9 #include <vector> | 9 #include <vector> |
| 10 | 10 |
| (...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 91 | 91 |
| 92 Init(host, document_root); | 92 Init(host, document_root); |
| 93 } | 93 } |
| 94 | 94 |
| 95 TestServer::~TestServer() { | 95 TestServer::~TestServer() { |
| 96 TestRootCerts* root_certs = TestRootCerts::GetInstance(); | 96 TestRootCerts* root_certs = TestRootCerts::GetInstance(); |
| 97 root_certs->Clear(); | 97 root_certs->Clear(); |
| 98 Stop(); | 98 Stop(); |
| 99 } | 99 } |
| 100 | 100 |
| 101 FilePath TestServer::GetTestServerDirectory() { | |
| 102 // Get path to python server script. | |
| 103 FilePath testserver_dir; | |
| 104 if (!PathService::Get(base::DIR_SOURCE_ROOT, &testserver_dir)) { | |
| 105 LOG(ERROR) << "Failed to get DIR_SOURCE_ROOT"; | |
| 106 return FilePath(); | |
| 107 } | |
| 108 | |
| 109 testserver_dir = testserver_dir | |
| 110 .Append(FILE_PATH_LITERAL("net")) | |
| 111 .Append(FILE_PATH_LITERAL("tools")) | |
| 112 .Append(FILE_PATH_LITERAL("testserver")); | |
| 113 return testserver_dir; | |
| 114 } | |
| 115 | |
| 101 bool TestServer::Start() { | 116 bool TestServer::Start() { |
| 102 if (type_ == TYPE_HTTPS) { | 117 if (type_ == TYPE_HTTPS) { |
| 103 if (!LoadTestRootCert()) | 118 if (!LoadTestRootCert()) |
| 104 return false; | 119 return false; |
| 105 } | 120 } |
| 106 | 121 |
| 107 // Get path to python server script | 122 FilePath testserver_path(GetTestServerDirectory()); |
| 108 FilePath testserver_path; | 123 if (testserver_path.empty()) |
| 109 if (!PathService::Get(base::DIR_SOURCE_ROOT, &testserver_path)) { | |
| 110 LOG(ERROR) << "Failed to get DIR_SOURCE_ROOT"; | |
| 111 return false; | 124 return false; |
| 112 } | 125 testserver_path = |
| 113 testserver_path = testserver_path | 126 testserver_path.Append(FILE_PATH_LITERAL("testserver.py")); |
| 114 .Append(FILE_PATH_LITERAL("net")) | |
| 115 .Append(FILE_PATH_LITERAL("tools")) | |
| 116 .Append(FILE_PATH_LITERAL("testserver")) | |
| 117 .Append(FILE_PATH_LITERAL("testserver.py")); | |
| 118 | 127 |
| 119 if (!SetPythonPath()) | 128 if (!SetPythonPath()) |
| 120 return false; | 129 return false; |
| 121 | 130 |
| 122 if (!LaunchPython(testserver_path)) | 131 if (!LaunchPython(testserver_path)) |
| 123 return false; | 132 return false; |
| 124 | 133 |
| 125 if (!WaitToStart()) { | 134 if (!WaitToStart()) { |
| 126 Stop(); | 135 Stop(); |
| 127 return false; | 136 return false; |
| (...skipping 148 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 276 certificates_dir_ = src_dir.Append(FILE_PATH_LITERAL("net")) | 285 certificates_dir_ = src_dir.Append(FILE_PATH_LITERAL("net")) |
| 277 .Append(FILE_PATH_LITERAL("data")) | 286 .Append(FILE_PATH_LITERAL("data")) |
| 278 .Append(FILE_PATH_LITERAL("ssl")) | 287 .Append(FILE_PATH_LITERAL("ssl")) |
| 279 .Append(FILE_PATH_LITERAL("certificates")); | 288 .Append(FILE_PATH_LITERAL("certificates")); |
| 280 | 289 |
| 281 // TODO(battre) Remove this after figuring out why the TestServer is flaky. | 290 // TODO(battre) Remove this after figuring out why the TestServer is flaky. |
| 282 // http://crbug.com/96594 | 291 // http://crbug.com/96594 |
| 283 log_to_console_ = true; | 292 log_to_console_ = true; |
| 284 } | 293 } |
| 285 | 294 |
| 295 // static | |
| 296 bool TestServer::RunSyncTest() { | |
| 297 if (!SetPythonPath()) { | |
| 298 LOG(ERROR) << "Error trying to set python path. Exiting."; | |
| 299 return false; | |
| 300 } | |
| 301 | |
| 302 FilePath sync_test_path(GetTestServerDirectory()); | |
| 303 if (sync_test_path.empty()) { | |
| 304 LOG(ERROR) << "Error trying to get python test server path."; | |
| 305 return false; | |
| 306 } | |
| 307 | |
| 308 sync_test_path = | |
| 309 sync_test_path.Append(FILE_PATH_LITERAL("chromiumsync_test.py")); | |
| 310 CommandLine python_command(GetAbsolutePythonCommandPath()); | |
| 311 python_command.AppendArgPath(sync_test_path); | |
| 312 if (!base::LaunchProcess(python_command, base::LaunchOptions(), NULL)) { | |
|
akalin
2012/03/03 01:18:32
can you add a VLOG of the final command line somew
| |
| 313 LOG(ERROR) << "Failed to launch test script."; | |
| 314 return false; | |
| 315 } | |
| 316 return true; | |
| 317 } | |
| 318 | |
| 286 bool TestServer::SetPythonPath() { | 319 bool TestServer::SetPythonPath() { |
| 287 FilePath third_party_dir; | 320 FilePath third_party_dir; |
| 288 if (!PathService::Get(base::DIR_SOURCE_ROOT, &third_party_dir)) { | 321 if (!PathService::Get(base::DIR_SOURCE_ROOT, &third_party_dir)) { |
| 289 LOG(ERROR) << "Failed to get DIR_SOURCE_ROOT"; | 322 LOG(ERROR) << "Failed to get DIR_SOURCE_ROOT"; |
| 290 return false; | 323 return false; |
| 291 } | 324 } |
| 292 third_party_dir = third_party_dir.AppendASCII("third_party"); | 325 third_party_dir = third_party_dir.AppendASCII("third_party"); |
| 293 | 326 |
| 294 // For simplejson. (simplejson, unlike all the other python modules | 327 // For simplejson. (simplejson, unlike all the other python modules |
| 295 // we include, doesn't have an extra 'simplejson' directory, so we | 328 // we include, doesn't have an extra 'simplejson' directory, so we |
| (...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 412 command_line->AppendArg(kBulkCipherSwitch + "=3des"); | 445 command_line->AppendArg(kBulkCipherSwitch + "=3des"); |
| 413 | 446 |
| 414 if (https_options_.record_resume) | 447 if (https_options_.record_resume) |
| 415 command_line->AppendArg("--https-record-resume"); | 448 command_line->AppendArg("--https-record-resume"); |
| 416 } | 449 } |
| 417 | 450 |
| 418 return true; | 451 return true; |
| 419 } | 452 } |
| 420 | 453 |
| 421 } // namespace net | 454 } // namespace net |
| OLD | NEW |