summaryrefslogtreecommitdiffstats
path: root/net/url_request
diff options
context:
space:
mode:
authordkegel@google.com <dkegel@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2008-11-03 23:17:33 +0000
committerdkegel@google.com <dkegel@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2008-11-03 23:17:33 +0000
commit82fc7c72f6dfe007207b7b7113f5c0ddca6884c7 (patch)
tree0158e9482bd1a92bfb8d05460dcc51cb27e079a8 /net/url_request
parented931012a503d702e5377a5327688276850e4cdd (diff)
downloadchromium_src-82fc7c72f6dfe007207b7b7113f5c0ddca6884c7.zip
chromium_src-82fc7c72f6dfe007207b7b7113f5c0ddca6884c7.tar.gz
chromium_src-82fc7c72f6dfe007207b7b7113f5c0ddca6884c7.tar.bz2
Get url_request_unittest.cc to build on Linux.
See http://code.google.com/p/chromium/issues/detail?id=3661 Also change LaunchApp to check PATH, and fixed a useful gcc-4.3 warning re operator precedence. Review URL: http://codereview.chromium.org/7968 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@4515 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/url_request')
-rw-r--r--net/url_request/url_request_unittest.cc8
-rw-r--r--net/url_request/url_request_unittest.h34
2 files changed, 34 insertions, 8 deletions
diff --git a/net/url_request/url_request_unittest.cc b/net/url_request/url_request_unittest.cc
index cd21a2d..f2c8c58 100644
--- a/net/url_request/url_request_unittest.cc
+++ b/net/url_request/url_request_unittest.cc
@@ -331,6 +331,7 @@ TEST(URLRequestTest, PostFileTest) {
MessageLoop::current()->Run();
+#if defined(OS_WIN)
HANDLE file = CreateFile(path.c_str(), GENERIC_READ, FILE_SHARE_READ, NULL,
OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
ASSERT_NE(INVALID_HANDLE_VALUE, file);
@@ -352,6 +353,9 @@ TEST(URLRequestTest, PostFileTest) {
ASSERT_EQ(size, d.bytes_received());
EXPECT_EQ(0, memcmp(d.data_received().c_str(), buf.get(), size));
+#else
+ NOTIMPLEMENTED();
+#endif
}
#ifndef NDEBUG
DCHECK_EQ(url_request_metrics.object_count,0);
@@ -696,7 +700,7 @@ TEST(URLRequestTest, VaryHeader) {
// Make sure that the response time of a future response will be in the
// future!
- Sleep(10);
+ PlatformThread::Sleep(10);
// expect a cache hit
{
@@ -748,7 +752,7 @@ TEST(URLRequestTest, BasicAuth) {
// Let some time pass so we can ensure that a future response will have a
// response time value in the future.
- Sleep(10 /* milliseconds */);
+ PlatformThread::Sleep(10 /* milliseconds */);
// repeat request with end-to-end validation. since auth-basic results in a
// cachable page, we expect this test to result in a 304. in which case, the
diff --git a/net/url_request/url_request_unittest.h b/net/url_request/url_request_unittest.h
index a7214fd..e60f402 100644
--- a/net/url_request/url_request_unittest.h
+++ b/net/url_request/url_request_unittest.h
@@ -15,11 +15,13 @@
#include "base/process_util.h"
#include "base/string_util.h"
#include "base/thread.h"
+#include "base/time.h"
#include "base/waitable_event.h"
#include "net/base/net_errors.h"
#include "net/http/http_network_layer.h"
#include "net/url_request/url_request.h"
#include "testing/gtest/include/gtest/gtest.h"
+#include "googleurl/src/url_util.h"
const int kDefaultPort = 1337;
const std::string kDefaultHostName("localhost");
@@ -202,7 +204,8 @@ class TestServer : public process_util::ProcessFilter {
// filter.
if (!process_handle_)
return false;
- return pid == process_util::GetProcId(process_handle_);
+ // TODO(port): rationalize return value of GetProcId
+ return pid == (uint32)process_util::GetProcId(process_handle_);
}
GURL TestServerPage(const std::string& path) {
@@ -210,7 +213,7 @@ class TestServer : public process_util::ProcessFilter {
}
GURL TestServerPageW(const std::wstring& path) {
- return GURL(UTF8ToWide(base_address_) + path);
+ return GURL(base_address_ + WideToUTF8(path));
}
// A subclass may wish to send the request in a different manner
@@ -254,7 +257,7 @@ class TestServer : public process_util::ProcessFilter {
const std::wstring& cert_path) {
std::stringstream ss;
std::string port_str;
- ss << port ? port : kDefaultPort;
+ ss << (port ? port : kDefaultPort);
ss >> port_str;
base_address_ = scheme() + "://" + host_name + ":" + port_str + "/";
@@ -278,6 +281,7 @@ class TestServer : public process_util::ProcessFilter {
L'/', file_util::kPathSeparator);
file_util::AppendToPath(&test_data_directory, normalized_document_root);
+#if defined(OS_WIN)
std::wstring command_line =
L"\"" + python_runtime_ + L"\" " + L"\"" + testserver_path +
L"\" --port=" + UTF8ToWide(port_str) + L" --data-dir=\"" +
@@ -291,6 +295,22 @@ class TestServer : public process_util::ProcessFilter {
ASSERT_TRUE(
process_util::LaunchApp(command_line, false, true, &process_handle_)) <<
"Failed to launch " << command_line;
+#elif defined(OS_LINUX)
+ bool tlslite_installed = !access("/usr/bin/tls.py", X_OK);
+ ASSERT_TRUE(tlslite_installed) << "tlslite not installed? Please run 'python setup.py install' in third_party/tlslite.";
+
+ std::vector<std::string> command_line;
+ command_line.push_back("python");
+ command_line.push_back(WideToUTF8(testserver_path));
+ command_line.push_back("--port=" + port_str);
+ command_line.push_back("--data-dir=" + WideToUTF8(test_data_directory));
+ if (!cert_path.empty())
+ command_line.push_back("--https=" + WideToUTF8(cert_path));
+
+ ASSERT_TRUE(
+ process_util::LaunchApp(command_line, false, &process_handle_)) <<
+ "Failed to launch " << command_line[0] << " ...";
+#endif
// Verify that the webserver is actually started.
// Otherwise tests can fail if they run faster than Python can start.
@@ -300,7 +320,7 @@ class TestServer : public process_util::ProcessFilter {
retries--;
PlatformThread::Sleep(500);
}
- ASSERT_TRUE(success) << "Webserver not starting properly.";
+ ASSERT_TRUE(success) << "Webserver not starting properly. (On Linux, you need to install third_party/tlslite.)";
is_shutdown_ = false;
}
@@ -312,7 +332,7 @@ class TestServer : public process_util::ProcessFilter {
// here we append the time to avoid problems where the kill page
// is being cached rather than being executed on the server
std::ostringstream page_name;
- page_name << "kill?" << GetTickCount();
+ page_name << "kill?" << (unsigned int)(base::Time::Now().ToInternalValue());
int retry_count = 5;
while (retry_count > 0) {
bool r = MakeGETRequest(page_name.str());
@@ -328,7 +348,9 @@ class TestServer : public process_util::ProcessFilter {
DCHECK(retry_count > 0);
if (process_handle_) {
+#if defined(OS_WIN)
CloseHandle(process_handle_);
+#endif
process_handle_ = NULL;
}
@@ -369,7 +391,7 @@ class TestServer : public process_util::ProcessFilter {
std::string base_address_;
std::wstring python_runtime_;
- HANDLE process_handle_;
+ ProcessHandle process_handle_;
bool is_shutdown_;
};