diff options
author | phajdan.jr@chromium.org <phajdan.jr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-08-17 20:07:11 +0000 |
---|---|---|
committer | phajdan.jr@chromium.org <phajdan.jr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-08-17 20:07:11 +0000 |
commit | 95409e1020037b0bbfbce17f861d3de090d10186 (patch) | |
tree | 90a893af1247b1d4a3767c5ab14aae797f467946 /chrome_frame | |
parent | 701e869b30deffda579c5c413cf1d73defee34fa (diff) | |
download | chromium_src-95409e1020037b0bbfbce17f861d3de090d10186.zip chromium_src-95409e1020037b0bbfbce17f861d3de090d10186.tar.gz chromium_src-95409e1020037b0bbfbce17f861d3de090d10186.tar.bz2 |
Test server cleanup patch of death:
- reduce the number of different classes
- clean up the internal code
- modify the interface to expose less internal details
(this will allow more flexibility with port numbers)
TEST=many
BUG=49680
Review URL: http://codereview.chromium.org/3080029
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@56405 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome_frame')
-rw-r--r-- | chrome_frame/test/http_server.cc | 21 | ||||
-rw-r--r-- | chrome_frame/test/http_server.h | 6 | ||||
-rw-r--r-- | chrome_frame/test/run_all_unittests.cc | 4 | ||||
-rw-r--r-- | chrome_frame/test/test_with_web_server.cc | 8 |
4 files changed, 16 insertions, 23 deletions
diff --git a/chrome_frame/test/http_server.cc b/chrome_frame/test/http_server.cc index 48f88e7..c93b01f 100644 --- a/chrome_frame/test/http_server.cc +++ b/chrome_frame/test/http_server.cc @@ -13,10 +13,12 @@ const wchar_t kDocRoot[] = L"chrome_frame\\test\\data"; +ChromeFrameHTTPServer::ChromeFrameHTTPServer() + : test_server_(net::TestServer::TYPE_HTTP, FilePath(kDocRoot)) { +} + void ChromeFrameHTTPServer::SetUp() { - std::wstring document_root(kDocRoot); - server_ = net::HTTPTestServer::CreateServer(document_root); - ASSERT_TRUE(server_ != NULL); + ASSERT_TRUE(test_server_.Start()); // copy CFInstance.js into the test directory FilePath cf_source_path; @@ -37,9 +39,7 @@ void ChromeFrameHTTPServer::SetUp() { } void ChromeFrameHTTPServer::TearDown() { - if (server_) { - server_ = NULL; - } + test_server_.Stop(); // clobber CFInstance.js FilePath cfi_path; @@ -64,17 +64,14 @@ void ChromeFrameHTTPServer::TearDown() { } bool ChromeFrameHTTPServer::WaitToFinish(int milliseconds) { - if (!server_) - return true; - - return server_->WaitToFinish(milliseconds); + return test_server_.WaitToFinish(milliseconds); } // TODO(phajdan.jr): Change wchar_t* to std::string& and fix callers. GURL ChromeFrameHTTPServer::Resolve(const wchar_t* relative_url) { - return server_->TestServerPage(WideToUTF8(relative_url)); + return test_server_.GetURL(WideToUTF8(relative_url)); } FilePath ChromeFrameHTTPServer::GetDataDir() { - return server_->GetDataDirectory(); + return test_server_.document_root(); } diff --git a/chrome_frame/test/http_server.h b/chrome_frame/test/http_server.h index 30b3d19..a6dae20 100644 --- a/chrome_frame/test/http_server.h +++ b/chrome_frame/test/http_server.h @@ -17,16 +17,18 @@ class FilePath; // Chrome Frame specilization of http server from net. class ChromeFrameHTTPServer { public: + ChromeFrameHTTPServer(); + void SetUp(); void TearDown(); bool WaitToFinish(int milliseconds); GURL Resolve(const wchar_t* relative_url); FilePath GetDataDir(); - net::HTTPTestServer* server() { return server_; } + net::TestServer* test_server() { return &test_server_; } protected: - scoped_refptr<net::HTTPTestServer> server_; + net::TestServer test_server_; }; #endif // CHROME_FRAME_TEST_HTTP_SERVER_H_ diff --git a/chrome_frame/test/run_all_unittests.cc b/chrome_frame/test/run_all_unittests.cc index a22d4f5..b25b5ae 100644 --- a/chrome_frame/test/run_all_unittests.cc +++ b/chrome_frame/test/run_all_unittests.cc @@ -51,12 +51,12 @@ int main(int argc, char **argv) { if (CommandLine::ForCurrentProcess()->HasSwitch(kRunAsServer)) { ChromeFrameHTTPServer server; server.SetUp(); - GURL server_url(server.server()->TestServerPage("")); + GURL server_url(server.test_server()->GetURL("")); std::cout << std::endl << "Server waiting on " << server_url.spec().c_str() << std::endl << std::endl << "Test output will be written to " - << server.server()->GetDataDirectory().value().c_str() << "\\dump" + << server.test_server()->document_root().value() << "\\dump" << std::endl << std::endl << "Hit Ctrl-C or navigate to " << server_url.spec().c_str() << "kill to shut down the server." diff --git a/chrome_frame/test/test_with_web_server.cc b/chrome_frame/test/test_with_web_server.cc index dead3d2..16ba8b3 100644 --- a/chrome_frame/test/test_with_web_server.cc +++ b/chrome_frame/test/test_with_web_server.cc @@ -85,11 +85,7 @@ void ChromeFrameTestWithWebServer::SetUp() { .Append(FILE_PATH_LITERAL("data")); server_.SetUp(); - EXPECT_TRUE(server_.server() != NULL); - if (server_.server()) { - results_dir_ = server_.GetDataDir(); - results_dir_ = results_dir_.AppendASCII("dump"); - } + results_dir_ = server_.test_server()->document_root().AppendASCII("dump"); } void ChromeFrameTestWithWebServer::TearDown() { @@ -100,7 +96,6 @@ void ChromeFrameTestWithWebServer::TearDown() { bool ChromeFrameTestWithWebServer::LaunchBrowser(BrowserKind browser, const wchar_t* page) { - EXPECT_TRUE(server_.server() != NULL); std::wstring url = page; if (url.find(L"files/") != std::wstring::npos) url = UTF8ToWide(server_.Resolve(page).spec()); @@ -163,7 +158,6 @@ bool ChromeFrameTestWithWebServer::BringBrowserToTop() { } bool ChromeFrameTestWithWebServer::WaitForTestToComplete(int milliseconds) { - EXPECT_TRUE(server_.server() != NULL); return server_.WaitToFinish(milliseconds); } |