summaryrefslogtreecommitdiffstats
path: root/net/url_request
diff options
context:
space:
mode:
authorphajdan.jr@chromium.org <phajdan.jr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-08-17 20:29:39 +0000
committerphajdan.jr@chromium.org <phajdan.jr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-08-17 20:29:39 +0000
commit373146206cd7820850332a61353ce3f57a4f0c07 (patch)
treee27991a0b03433dc71baa81e8ca352d01187fadd /net/url_request
parent6bd32db110086576d44c4230a1e7bb53f3d20630 (diff)
downloadchromium_src-373146206cd7820850332a61353ce3f57a4f0c07.zip
chromium_src-373146206cd7820850332a61353ce3f57a4f0c07.tar.gz
chromium_src-373146206cd7820850332a61353ce3f57a4f0c07.tar.bz2
Make even more tests in net_unittests faster by reusing the test server.
I gained at least 30s by doing that, and there is still room for improvement! I'm doing changes step-by-step to make sure it won't break mysteriously. TEST=none BUG=none Review URL: http://codereview.chromium.org/172057 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23574 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/url_request')
-rw-r--r--net/url_request/url_request_unittest.cc173
1 files changed, 67 insertions, 106 deletions
diff --git a/net/url_request/url_request_unittest.cc b/net/url_request/url_request_unittest.cc
index 64da9fe..6c003bf 100644
--- a/net/url_request/url_request_unittest.cc
+++ b/net/url_request/url_request_unittest.cc
@@ -119,7 +119,8 @@ class URLRequestTest : public PlatformTest {
class URLRequestTestHTTP : public URLRequestTest {
protected:
static void SetUpTestCase() {
- server_ = HTTPTestServer::CreateForkingServer(L"");
+ server_ = HTTPTestServer::CreateForkingServer(
+ L"net/data/url_request_unittest/");
}
static void TearDownTestCase() {
@@ -357,7 +358,7 @@ TEST_F(HTTPSRequestTest, MAYBE_HTTPSExpiredTest) {
}
}
-TEST_F(URLRequestTest, CancelTest) {
+TEST_F(URLRequestTestHTTP, CancelTest) {
TestDelegate d;
{
TestURLRequest r(GURL("http://www.google.com/"), &d);
@@ -380,17 +381,15 @@ TEST_F(URLRequestTest, CancelTest) {
#endif
}
-TEST_F(URLRequestTest, CancelTest2) {
- scoped_refptr<HTTPTestServer> server =
- HTTPTestServer::CreateServer(L"", NULL);
- ASSERT_TRUE(NULL != server.get());
+TEST_F(URLRequestTestHTTP, CancelTest2) {
+ ASSERT_TRUE(NULL != server_.get());
// error C2446: '!=' : no conversion from 'HTTPTestServer *const '
// to 'const int'
TestDelegate d;
{
- TestURLRequest r(server->TestServerPage(""), &d);
+ TestURLRequest r(server_->TestServerPage(""), &d);
d.set_cancel_in_response_started(true);
@@ -409,13 +408,11 @@ TEST_F(URLRequestTest, CancelTest2) {
#endif
}
-TEST_F(URLRequestTest, CancelTest3) {
- scoped_refptr<HTTPTestServer> server =
- HTTPTestServer::CreateServer(L"", NULL);
- ASSERT_TRUE(NULL != server.get());
+TEST_F(URLRequestTestHTTP, CancelTest3) {
+ ASSERT_TRUE(NULL != server_.get());
TestDelegate d;
{
- TestURLRequest r(server->TestServerPage(""), &d);
+ TestURLRequest r(server_->TestServerPage(""), &d);
d.set_cancel_in_received_data(true);
@@ -437,13 +434,11 @@ TEST_F(URLRequestTest, CancelTest3) {
#endif
}
-TEST_F(URLRequestTest, CancelTest4) {
- scoped_refptr<HTTPTestServer> server =
- HTTPTestServer::CreateServer(L"", NULL);
- ASSERT_TRUE(NULL != server.get());
+TEST_F(URLRequestTestHTTP, CancelTest4) {
+ ASSERT_TRUE(NULL != server_.get());
TestDelegate d;
{
- TestURLRequest r(server->TestServerPage(""), &d);
+ TestURLRequest r(server_->TestServerPage(""), &d);
r.Start();
EXPECT_TRUE(r.is_pending());
@@ -463,16 +458,14 @@ TEST_F(URLRequestTest, CancelTest4) {
EXPECT_EQ(0, d.bytes_received());
}
-TEST_F(URLRequestTest, CancelTest5) {
- scoped_refptr<HTTPTestServer> server =
- HTTPTestServer::CreateServer(L"", NULL);
- ASSERT_TRUE(NULL != server.get());
+TEST_F(URLRequestTestHTTP, CancelTest5) {
+ ASSERT_TRUE(NULL != server_.get());
scoped_refptr<URLRequestContext> context = new URLRequestTestContext();
// populate cache
{
TestDelegate d;
- URLRequest r(server->TestServerPage("cachetime"), &d);
+ URLRequest r(server_->TestServerPage("cachetime"), &d);
r.set_context(context);
r.Start();
MessageLoop::current()->Run();
@@ -482,7 +475,7 @@ TEST_F(URLRequestTest, CancelTest5) {
// cancel read from cache (see bug 990242)
{
TestDelegate d;
- URLRequest r(server->TestServerPage("cachetime"), &d);
+ URLRequest r(server_->TestServerPage("cachetime"), &d);
r.set_context(context);
r.Start();
r.Cancel();
@@ -499,10 +492,8 @@ TEST_F(URLRequestTest, CancelTest5) {
#endif
}
-TEST_F(URLRequestTest, PostTest) {
- scoped_refptr<HTTPTestServer> server =
- HTTPTestServer::CreateServer(L"net/data", NULL);
- ASSERT_TRUE(NULL != server.get());
+TEST_F(URLRequestTestHTTP, PostTest) {
+ ASSERT_TRUE(NULL != server_.get());
const int kMsgSize = 20000; // multiple of 10
const int kIterations = 50;
char *uploadBytes = new char[kMsgSize+1];
@@ -524,7 +515,7 @@ TEST_F(URLRequestTest, PostTest) {
for (int i = 0; i < kIterations; ++i) {
TestDelegate d;
- URLRequest r(server->TestServerPage("echo"), &d);
+ URLRequest r(server_->TestServerPage("echo"), &d);
r.set_context(context);
r.set_method("POST");
@@ -549,13 +540,11 @@ TEST_F(URLRequestTest, PostTest) {
#endif
}
-TEST_F(URLRequestTest, PostEmptyTest) {
- scoped_refptr<HTTPTestServer> server =
- HTTPTestServer::CreateServer(L"net/data", NULL);
- ASSERT_TRUE(NULL != server.get());
+TEST_F(URLRequestTestHTTP, PostEmptyTest) {
+ ASSERT_TRUE(NULL != server_.get());
TestDelegate d;
{
- TestURLRequest r(server->TestServerPage("echo"), &d);
+ TestURLRequest r(server_->TestServerPage("echo"), &d);
r.set_method("POST");
r.Start();
@@ -574,13 +563,11 @@ TEST_F(URLRequestTest, PostEmptyTest) {
#endif
}
-TEST_F(URLRequestTest, PostFileTest) {
- scoped_refptr<HTTPTestServer> server =
- HTTPTestServer::CreateServer(L"net/data", NULL);
- ASSERT_TRUE(NULL != server.get());
+TEST_F(URLRequestTestHTTP, PostFileTest) {
+ ASSERT_TRUE(NULL != server_.get());
TestDelegate d;
{
- TestURLRequest r(server->TestServerPage("echo"), &d);
+ TestURLRequest r(server_->TestServerPage("echo"), &d);
r.set_method("POST");
FilePath dir;
@@ -824,12 +811,10 @@ TEST_F(URLRequestTest, DISABLED_DnsFailureTest) {
#endif
}
-TEST_F(URLRequestTest, ResponseHeadersTest) {
- scoped_refptr<HTTPTestServer> server =
- HTTPTestServer::CreateServer(L"net/data/url_request_unittest", NULL);
- ASSERT_TRUE(NULL != server.get());
+TEST_F(URLRequestTestHTTP, ResponseHeadersTest) {
+ ASSERT_TRUE(NULL != server_.get());
TestDelegate d;
- TestURLRequest req(server->TestServerPage("files/with-headers.html"), &d);
+ TestURLRequest req(server_->TestServerPage("files/with-headers.html"), &d);
req.Start();
MessageLoop::current()->Run();
@@ -979,13 +964,11 @@ TEST_F(URLRequestTest, ResolveShortcutTest) {
}
#endif // defined(OS_WIN)
-TEST_F(URLRequestTest, ContentTypeNormalizationTest) {
- scoped_refptr<HTTPTestServer> server =
- HTTPTestServer::CreateServer(L"net/data/url_request_unittest", NULL);
- ASSERT_TRUE(NULL != server.get());
+TEST_F(URLRequestTestHTTP, ContentTypeNormalizationTest) {
+ ASSERT_TRUE(NULL != server_.get());
TestDelegate d;
- TestURLRequest req(server->TestServerPage(
+ TestURLRequest req(server_->TestServerPage(
"files/content-type-normalization.html"), &d);
req.Start();
MessageLoop::current()->Run();
@@ -1027,13 +1010,11 @@ TEST_F(URLRequestTest, FileDirCancelTest) {
net::NetModule::SetResourceProvider(NULL);
}
-TEST_F(URLRequestTest, RestrictRedirects) {
- scoped_refptr<HTTPTestServer> server =
- HTTPTestServer::CreateServer(L"net/data/url_request_unittest", NULL);
- ASSERT_TRUE(NULL != server.get());
+TEST_F(URLRequestTestHTTP, RestrictRedirects) {
+ ASSERT_TRUE(NULL != server_.get());
TestDelegate d;
- TestURLRequest req(server->TestServerPage(
+ TestURLRequest req(server_->TestServerPage(
"files/redirect-to-file.html"), &d);
req.Start();
MessageLoop::current()->Run();
@@ -1042,13 +1023,11 @@ TEST_F(URLRequestTest, RestrictRedirects) {
EXPECT_EQ(net::ERR_UNSAFE_REDIRECT, req.status().os_error());
}
-TEST_F(URLRequestTest, RedirectToInvalidURL) {
- scoped_refptr<HTTPTestServer> server =
- HTTPTestServer::CreateServer(L"net/data/url_request_unittest", NULL);
- ASSERT_TRUE(NULL != server.get());
+TEST_F(URLRequestTestHTTP, RedirectToInvalidURL) {
+ ASSERT_TRUE(NULL != server_.get());
TestDelegate d;
- TestURLRequest req(server->TestServerPage(
+ TestURLRequest req(server_->TestServerPage(
"files/redirect-to-invalid-url.html"), &d);
req.Start();
MessageLoop::current()->Run();
@@ -1057,12 +1036,10 @@ TEST_F(URLRequestTest, RedirectToInvalidURL) {
EXPECT_EQ(net::ERR_INVALID_URL, req.status().os_error());
}
-TEST_F(URLRequestTest, NoUserPassInReferrer) {
- scoped_refptr<HTTPTestServer> server =
- HTTPTestServer::CreateServer(L"net/data/url_request_unittest", NULL);
- ASSERT_TRUE(NULL != server.get());
+TEST_F(URLRequestTestHTTP, NoUserPassInReferrer) {
+ ASSERT_TRUE(NULL != server_.get());
TestDelegate d;
- TestURLRequest req(server->TestServerPage(
+ TestURLRequest req(server_->TestServerPage(
"echoheader?Referer"), &d);
req.set_referrer("http://user:pass@foo.com/");
req.Start();
@@ -1071,14 +1048,12 @@ TEST_F(URLRequestTest, NoUserPassInReferrer) {
EXPECT_EQ(std::string("http://foo.com/"), d.data_received());
}
-TEST_F(URLRequestTest, CancelRedirect) {
- scoped_refptr<HTTPTestServer> server =
- HTTPTestServer::CreateServer(L"net/data/url_request_unittest", NULL);
- ASSERT_TRUE(NULL != server.get());
+TEST_F(URLRequestTestHTTP, CancelRedirect) {
+ ASSERT_TRUE(NULL != server_.get());
TestDelegate d;
{
d.set_cancel_in_received_redirect(true);
- TestURLRequest req(server->TestServerPage(
+ TestURLRequest req(server_->TestServerPage(
"files/redirect-test.html"), &d);
req.Start();
MessageLoop::current()->Run();
@@ -1090,14 +1065,12 @@ TEST_F(URLRequestTest, CancelRedirect) {
}
}
-TEST_F(URLRequestTest, DeferredRedirect) {
- scoped_refptr<HTTPTestServer> server =
- HTTPTestServer::CreateServer(L"net/data/url_request_unittest", NULL);
- ASSERT_TRUE(NULL != server.get());
+TEST_F(URLRequestTestHTTP, DeferredRedirect) {
+ ASSERT_TRUE(NULL != server_.get());
TestDelegate d;
{
d.set_quit_on_redirect(true);
- TestURLRequest req(server->TestServerPage(
+ TestURLRequest req(server_->TestServerPage(
"files/redirect-test.html"), &d);
req.Start();
MessageLoop::current()->Run();
@@ -1124,14 +1097,12 @@ TEST_F(URLRequestTest, DeferredRedirect) {
}
}
-TEST_F(URLRequestTest, CancelDeferredRedirect) {
- scoped_refptr<HTTPTestServer> server =
- HTTPTestServer::CreateServer(L"net/data/url_request_unittest", NULL);
- ASSERT_TRUE(NULL != server.get());
+TEST_F(URLRequestTestHTTP, CancelDeferredRedirect) {
+ ASSERT_TRUE(NULL != server_.get());
TestDelegate d;
{
d.set_quit_on_redirect(true);
- TestURLRequest req(server->TestServerPage(
+ TestURLRequest req(server_->TestServerPage(
"files/redirect-test.html"), &d);
req.Start();
MessageLoop::current()->Run();
@@ -1148,10 +1119,8 @@ TEST_F(URLRequestTest, CancelDeferredRedirect) {
}
}
-TEST_F(URLRequestTest, VaryHeader) {
- scoped_refptr<HTTPTestServer> server =
- HTTPTestServer::CreateServer(L"net/data/url_request_unittest", NULL);
- ASSERT_TRUE(NULL != server.get());
+TEST_F(URLRequestTestHTTP, VaryHeader) {
+ ASSERT_TRUE(NULL != server_.get());
scoped_refptr<URLRequestContext> context = new URLRequestTestContext();
@@ -1160,7 +1129,7 @@ TEST_F(URLRequestTest, VaryHeader) {
// populate the cache
{
TestDelegate d;
- URLRequest req(server->TestServerPage("echoheader?foo"), &d);
+ URLRequest req(server_->TestServerPage("echoheader?foo"), &d);
req.set_context(context);
req.SetExtraRequestHeaders("foo:1");
req.Start();
@@ -1176,7 +1145,7 @@ TEST_F(URLRequestTest, VaryHeader) {
// expect a cache hit
{
TestDelegate d;
- URLRequest req(server->TestServerPage("echoheader?foo"), &d);
+ URLRequest req(server_->TestServerPage("echoheader?foo"), &d);
req.set_context(context);
req.SetExtraRequestHeaders("foo:1");
req.Start();
@@ -1188,7 +1157,7 @@ TEST_F(URLRequestTest, VaryHeader) {
// expect a cache miss
{
TestDelegate d;
- URLRequest req(server->TestServerPage("echoheader?foo"), &d);
+ URLRequest req(server_->TestServerPage("echoheader?foo"), &d);
req.set_context(context);
req.SetExtraRequestHeaders("foo:2");
req.Start();
@@ -1198,11 +1167,9 @@ TEST_F(URLRequestTest, VaryHeader) {
}
}
-TEST_F(URLRequestTest, BasicAuth) {
+TEST_F(URLRequestTestHTTP, BasicAuth) {
scoped_refptr<URLRequestContext> context = new URLRequestTestContext();
- scoped_refptr<HTTPTestServer> server =
- HTTPTestServer::CreateServer(L"", NULL);
- ASSERT_TRUE(NULL != server.get());
+ ASSERT_TRUE(NULL != server_.get());
Time response_time;
@@ -1212,7 +1179,7 @@ TEST_F(URLRequestTest, BasicAuth) {
d.set_username(L"user");
d.set_password(L"secret");
- URLRequest r(server->TestServerPage("auth-basic"), &d);
+ URLRequest r(server_->TestServerPage("auth-basic"), &d);
r.set_context(context);
r.Start();
@@ -1235,7 +1202,7 @@ TEST_F(URLRequestTest, BasicAuth) {
d.set_username(L"user");
d.set_password(L"secret");
- URLRequest r(server->TestServerPage("auth-basic"), &d);
+ URLRequest r(server_->TestServerPage("auth-basic"), &d);
r.set_context(context);
r.set_load_flags(net::LOAD_VALIDATE_CACHE);
r.Start();
@@ -1252,13 +1219,11 @@ TEST_F(URLRequestTest, BasicAuth) {
// Check that Set-Cookie headers in 401 responses are respected.
// http://crbug.com/6450
-TEST_F(URLRequestTest, BasicAuthWithCookies) {
- scoped_refptr<HTTPTestServer> server =
- HTTPTestServer::CreateServer(L"", NULL);
- ASSERT_TRUE(NULL != server.get());
+TEST_F(URLRequestTestHTTP, BasicAuthWithCookies) {
+ ASSERT_TRUE(NULL != server_.get());
GURL url_requiring_auth =
- server->TestServerPage("auth-basic?set-cookie-if-challenged");
+ server_->TestServerPage("auth-basic?set-cookie-if-challenged");
// Request a page that will give a 401 containing a Set-Cookie header.
// Verify that when the transaction is restarted, it includes the new cookie.
@@ -1312,13 +1277,11 @@ TEST_F(URLRequestTest, BasicAuthWithCookies) {
// The subsequent transaction should use GET, and should not send the
// Content-Type header.
// http://code.google.com/p/chromium/issues/detail?id=843
-TEST_F(URLRequestTest, Post302RedirectGet) {
+TEST_F(URLRequestTestHTTP, Post302RedirectGet) {
const char kData[] = "hello world";
- scoped_refptr<HTTPTestServer> server =
- HTTPTestServer::CreateServer(L"net/data/url_request_unittest", NULL);
- ASSERT_TRUE(NULL != server.get());
+ ASSERT_TRUE(NULL != server_.get());
TestDelegate d;
- TestURLRequest req(server->TestServerPage("files/redirect-to-echoall"), &d);
+ TestURLRequest req(server_->TestServerPage("files/redirect-to-echoall"), &d);
req.set_method("POST");
req.set_upload(CreateSimpleUploadData(kData));
@@ -1352,13 +1315,11 @@ TEST_F(URLRequestTest, Post302RedirectGet) {
EXPECT_TRUE(ContainsString(data, "Accept-Charset:"));
}
-TEST_F(URLRequestTest, Post307RedirectPost) {
+TEST_F(URLRequestTestHTTP, Post307RedirectPost) {
const char kData[] = "hello world";
- scoped_refptr<HTTPTestServer> server =
- HTTPTestServer::CreateServer(L"net/data/url_request_unittest", NULL);
- ASSERT_TRUE(NULL != server.get());
+ ASSERT_TRUE(NULL != server_.get());
TestDelegate d;
- TestURLRequest req(server->TestServerPage("files/redirect307-to-echo"),
+ TestURLRequest req(server_->TestServerPage("files/redirect307-to-echo"),
&d);
req.set_method("POST");
req.set_upload(CreateSimpleUploadData(kData).get());