mirror of https://github.com/aria2/aria2
2010-07-19 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Fixed compile error with OSX g++ 4.0.1 * src/FileEntry.h * test/FileEntryTest.ccpull/1/head
parent
af99aa31d9
commit
07f91a28de
|
@ -1,3 +1,9 @@
|
|||
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
|
||||
|
||||
2010-07-19 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
|
||||
|
||||
Reverted default value of -j from 2 to 5.
|
||||
|
|
|
@ -167,9 +167,8 @@ public:
|
|||
// reuse used URIs and do selection again.
|
||||
SharedHandle<Request> getRequest
|
||||
(const SharedHandle<URISelector>& selector,
|
||||
bool uriReuse = true,
|
||||
const std::vector<std::pair<size_t, std::string> >& usedHosts
|
||||
= std::vector<std::pair<size_t, std::string> >(),
|
||||
bool uriReuse,
|
||||
const std::vector<std::pair<size_t, std::string> >& usedHosts,
|
||||
const std::string& referer = A2STR::NIL,
|
||||
const std::string& method = Request::METHOD_GET);
|
||||
|
||||
|
|
|
@ -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/"));
|
||||
|
|
Loading…
Reference in New Issue