| Index: net/tools/testserver/run_testserver.cc
|
| diff --git a/net/tools/testserver/run_testserver.cc b/net/tools/testserver/run_testserver.cc
|
| index 51b9aac0c69c8d3b0ff993f75b9e702eaf4ec9de..f00f9f2d2b5730d59886b047c36f49a983ce55d5 100644
|
| --- a/net/tools/testserver/run_testserver.cc
|
| +++ b/net/tools/testserver/run_testserver.cc
|
| @@ -9,8 +9,10 @@
|
| #include "base/file_path.h"
|
| #include "base/logging.h"
|
| #include "base/message_loop.h"
|
| +#include "base/process_util.h"
|
| #include "base/test/test_timeouts.h"
|
| #include "base/utf_string_conversions.h"
|
| +#include "net/test/python_utils.h"
|
| #include "net/test/test_server.h"
|
|
|
| static void PrintUsage() {
|
| @@ -19,6 +21,36 @@ static void PrintUsage() {
|
| printf("(NOTE: relpath should be relative to the 'src' directory)\n");
|
| }
|
|
|
| +// Launches the chromiumsync_test script, testing the --sync functionality.
|
| +static bool RunSyncTest() {
|
| + if (!net::TestServer::SetPythonPath()) {
|
| + LOG(ERROR) << "Error trying to set python path. Exiting.";
|
| + return false;
|
| + }
|
| +
|
| + FilePath sync_test_path;
|
| + if (!net::TestServer::GetTestServerDirectory(&sync_test_path)) {
|
| + LOG(ERROR) << "Error trying to get python test server path.";
|
| + return false;
|
| + }
|
| +
|
| + sync_test_path =
|
| + sync_test_path.Append(FILE_PATH_LITERAL("chromiumsync_test.py"));
|
| + FilePath python_runtime;
|
| + if (!GetPythonRunTime(&python_runtime)) {
|
| + LOG(ERROR) << "Could not get python runtime command.";
|
| + return false;
|
| + }
|
| +
|
| + CommandLine python_command(python_runtime);
|
| + python_command.AppendArgPath(sync_test_path);
|
| + if (!base::LaunchProcess(python_command, base::LaunchOptions(), NULL)) {
|
| + LOG(ERROR) << "Failed to launch test script.";
|
| + return false;
|
| + }
|
| + return true;
|
| +}
|
| +
|
| int main(int argc, const char* argv[]) {
|
| base::AtExitManager at_exit_manager;
|
| MessageLoopForIO message_loop;
|
| @@ -51,6 +83,8 @@ int main(int argc, const char* argv[]) {
|
| server_type = net::TestServer::TYPE_FTP;
|
| } else if (command_line->HasSwitch("sync")) {
|
| server_type = net::TestServer::TYPE_SYNC;
|
| + } else if (command_line->HasSwitch("sync-test")) {
|
| + return RunSyncTest() ? 0 : -1;
|
| }
|
|
|
| net::TestServer::HTTPSOptions https_options;
|
|
|