summaryrefslogtreecommitdiff
path: root/test/FileEntryTest.cc
diff options
context:
space:
mode:
authorTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2010-07-18 15:49:53 +0000
committerTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2010-07-18 15:49:53 +0000
commit07f91a28deae37329bf685b0f6a9db36c7989cee (patch)
treebef122ac3b66bcdbc1df075ec782796ad02b1ed4 /test/FileEntryTest.cc
parentaf99aa31d9d19d8f779c9ad29378d05fb84c7660 (diff)
2010-07-19 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Fixed compile error with OSX g++ 4.0.1 * src/FileEntry.h * test/FileEntryTest.cc
Diffstat (limited to 'test/FileEntryTest.cc')
-rw-r--r--test/FileEntryTest.cc55
1 files changed, 37 insertions, 18 deletions
diff --git a/test/FileEntryTest.cc b/test/FileEntryTest.cc
index 34aa863d..46da43aa 100644
--- a/test/FileEntryTest.cc
+++ b/test/FileEntryTest.cc
@@ -109,71 +109,87 @@ void FileEntryTest::testGetRequest()
{
SharedHandle<FileEntry> fileEntry = createFileEntry();
SharedHandle<InOrderURISelector> selector(new InOrderURISelector());
- SharedHandle<Request> req = fileEntry->getRequest(selector);
+ std::vector<std::pair<size_t, std::string> > usedHosts;
+ SharedHandle<Request> req =
+ fileEntry->getRequest(selector, true, usedHosts);
CPPUNIT_ASSERT_EQUAL(std::string("localhost"), req->getHost());
CPPUNIT_ASSERT_EQUAL(std::string("http"), req->getProtocol());
fileEntry->poolRequest(req);
- SharedHandle<Request> req2nd = fileEntry->getRequest(selector);
+ SharedHandle<Request> req2nd =
+ fileEntry->getRequest(selector, true, usedHosts);
CPPUNIT_ASSERT_EQUAL(std::string("localhost"), req2nd->getHost());
CPPUNIT_ASSERT_EQUAL(std::string("http"), req2nd->getProtocol());
- SharedHandle<Request> req3rd = fileEntry->getRequest(selector);
+ SharedHandle<Request> req3rd =
+ fileEntry->getRequest(selector, true, usedHosts);
CPPUNIT_ASSERT_EQUAL(std::string("mirror"), req3rd->getHost());
CPPUNIT_ASSERT_EQUAL(std::string("http"), req3rd->getProtocol());
- SharedHandle<Request> req4th = fileEntry->getRequest(selector);
+ SharedHandle<Request> req4th =
+ fileEntry->getRequest(selector, true, usedHosts);
CPPUNIT_ASSERT(req4th.isNull());
fileEntry->setMaxConnectionPerServer(2);
- SharedHandle<Request> req5th = fileEntry->getRequest(selector);
+ SharedHandle<Request> req5th =
+ fileEntry->getRequest(selector, true, usedHosts);
CPPUNIT_ASSERT_EQUAL(std::string("localhost"), req5th->getHost());
CPPUNIT_ASSERT_EQUAL(std::string("ftp"), req5th->getProtocol());
- SharedHandle<Request> req6th = fileEntry->getRequest(selector);
+ SharedHandle<Request> req6th =
+ fileEntry->getRequest(selector, true, usedHosts);
CPPUNIT_ASSERT_EQUAL(std::string("mirror"), req6th->getHost());
CPPUNIT_ASSERT_EQUAL(std::string("http"), req6th->getProtocol());
- SharedHandle<Request> req7th = fileEntry->getRequest(selector);
+ SharedHandle<Request> req7th =
+ fileEntry->getRequest(selector, true, usedHosts);
CPPUNIT_ASSERT(req7th.isNull());
}
void FileEntryTest::testGetRequest_withoutUriReuse()
{
+ std::vector<std::pair<size_t, std::string> > usedHosts;
SharedHandle<FileEntry> fileEntry = createFileEntry();
fileEntry->setMaxConnectionPerServer(2);
SharedHandle<InOrderURISelector> selector(new InOrderURISelector());
- SharedHandle<Request> req = fileEntry->getRequest(selector, false);
+ SharedHandle<Request> req = fileEntry->getRequest(selector, false, usedHosts);
CPPUNIT_ASSERT_EQUAL(std::string("localhost"), req->getHost());
CPPUNIT_ASSERT_EQUAL(std::string("http"), req->getProtocol());
- SharedHandle<Request> req2nd = fileEntry->getRequest(selector, false);
+ SharedHandle<Request> req2nd =
+ fileEntry->getRequest(selector, false, usedHosts);
CPPUNIT_ASSERT_EQUAL(std::string("localhost"), req2nd->getHost());
CPPUNIT_ASSERT_EQUAL(std::string("ftp"), req2nd->getProtocol());
- SharedHandle<Request> req3rd = fileEntry->getRequest(selector, false);
+ SharedHandle<Request> req3rd =
+ fileEntry->getRequest(selector, false, usedHosts);
CPPUNIT_ASSERT_EQUAL(std::string("mirror"), req3rd->getHost());
CPPUNIT_ASSERT_EQUAL(std::string("http"), req3rd->getProtocol());
- SharedHandle<Request> req4th = fileEntry->getRequest(selector, false);
+ SharedHandle<Request> req4th =
+ fileEntry->getRequest(selector, false, usedHosts);
CPPUNIT_ASSERT(req4th.isNull());
}
void FileEntryTest::testGetRequest_withUniqueProtocol()
{
+ std::vector<std::pair<size_t, std::string> > usedHosts;
SharedHandle<FileEntry> fileEntry = createFileEntry();
fileEntry->setUniqueProtocol(true);
SharedHandle<InOrderURISelector> selector(new InOrderURISelector());
- SharedHandle<Request> req = fileEntry->getRequest(selector);
+ SharedHandle<Request> req =
+ fileEntry->getRequest(selector, true, usedHosts);
CPPUNIT_ASSERT_EQUAL(std::string("localhost"), req->getHost());
CPPUNIT_ASSERT_EQUAL(std::string("http"), req->getProtocol());
- SharedHandle<Request> req2nd = fileEntry->getRequest(selector);
+ SharedHandle<Request> req2nd =
+ fileEntry->getRequest(selector, true, usedHosts);
CPPUNIT_ASSERT_EQUAL(std::string("mirror"), req2nd->getHost());
CPPUNIT_ASSERT_EQUAL(std::string("http"), req2nd->getProtocol());
- SharedHandle<Request> req3rd = fileEntry->getRequest(selector);
+ SharedHandle<Request> req3rd =
+ fileEntry->getRequest(selector, true, usedHosts);
CPPUNIT_ASSERT(req3rd.isNull());
CPPUNIT_ASSERT_EQUAL((size_t)2, fileEntry->getRemainingUris().size());
@@ -189,8 +205,9 @@ void FileEntryTest::testReuseUri()
SharedHandle<FileEntry> fileEntry = createFileEntry();
fileEntry->setMaxConnectionPerServer(3);
size_t numUris = fileEntry->getRemainingUris().size();
+ std::vector<std::pair<size_t, std::string> > usedHosts;
for(size_t i = 0; i < numUris; ++i) {
- fileEntry->getRequest(selector, false);
+ fileEntry->getRequest(selector, false, usedHosts);
}
CPPUNIT_ASSERT_EQUAL((size_t)0, fileEntry->getRemainingUris().size());
fileEntry->addURIResult("http://localhost/aria2.zip",
@@ -202,7 +219,7 @@ void FileEntryTest::testReuseUri()
CPPUNIT_ASSERT_EQUAL(std::string("ftp://localhost/aria2.zip"), uris[0]);
CPPUNIT_ASSERT_EQUAL(std::string("http://mirror/aria2.zip"), uris[1]);
for(size_t i = 0; i < 2; ++i) {
- fileEntry->getRequest(selector, false);
+ fileEntry->getRequest(selector, false, usedHosts);
}
CPPUNIT_ASSERT_EQUAL((size_t)0, fileEntry->getRemainingUris().size());
ignore.clear();
@@ -243,6 +260,7 @@ void FileEntryTest::testInsertUri()
void FileEntryTest::testRemoveUri()
{
+ std::vector<std::pair<size_t, std::string> > usedHosts;
SharedHandle<InOrderURISelector> selector(new InOrderURISelector());
FileEntry file;
file.addUri("http://example.org/");
@@ -251,7 +269,8 @@ void FileEntryTest::testRemoveUri()
CPPUNIT_ASSERT(!file.removeUri("http://example.org/"));
file.addUri("http://example.org/");
- SharedHandle<Request> exampleOrgReq = file.getRequest(selector);
+ SharedHandle<Request> exampleOrgReq =
+ file.getRequest(selector, true, usedHosts);
CPPUNIT_ASSERT(!exampleOrgReq->removalRequested());
CPPUNIT_ASSERT_EQUAL((size_t)1, file.getSpentUris().size());
CPPUNIT_ASSERT(file.removeUri("http://example.org/"));
@@ -261,7 +280,7 @@ void FileEntryTest::testRemoveUri()
CPPUNIT_ASSERT_EQUAL((size_t)0, file.countPooledRequest());
file.addUri("http://example.org/");
- exampleOrgReq = file.getRequest(selector);
+ exampleOrgReq = file.getRequest(selector, true, usedHosts);
file.poolRequest(exampleOrgReq);
CPPUNIT_ASSERT_EQUAL((size_t)1, file.countPooledRequest());
CPPUNIT_ASSERT(file.removeUri("http://example.org/"));