From 07f91a28deae37329bf685b0f6a9db36c7989cee Mon Sep 17 00:00:00 2001 From: Tatsuhiro Tsujikawa Date: Sun, 18 Jul 2010 15:49:53 +0000 Subject: [PATCH] 2010-07-19 Tatsuhiro Tsujikawa Fixed compile error with OSX g++ 4.0.1 * src/FileEntry.h * test/FileEntryTest.cc --- ChangeLog | 6 +++++ src/FileEntry.h | 5 ++-- test/FileEntryTest.cc | 55 +++++++++++++++++++++++++++++-------------- 3 files changed, 45 insertions(+), 21 deletions(-) diff --git a/ChangeLog b/ChangeLog index 92cd1722..c7189a11 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2010-07-19 Tatsuhiro Tsujikawa + + Fixed compile error with OSX g++ 4.0.1 + * src/FileEntry.h + * test/FileEntryTest.cc + 2010-07-19 Tatsuhiro Tsujikawa Reverted default value of -j from 2 to 5. diff --git a/src/FileEntry.h b/src/FileEntry.h index 746d6ed6..6506fc9d 100644 --- a/src/FileEntry.h +++ b/src/FileEntry.h @@ -167,9 +167,8 @@ public: // reuse used URIs and do selection again. SharedHandle getRequest (const SharedHandle& selector, - bool uriReuse = true, - const std::vector >& usedHosts - = std::vector >(), + bool uriReuse, + const std::vector >& usedHosts, const std::string& referer = A2STR::NIL, const std::string& method = Request::METHOD_GET); 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 = createFileEntry(); SharedHandle selector(new InOrderURISelector()); - SharedHandle req = fileEntry->getRequest(selector); + std::vector > usedHosts; + SharedHandle 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 req2nd = fileEntry->getRequest(selector); + SharedHandle req2nd = + fileEntry->getRequest(selector, true, usedHosts); CPPUNIT_ASSERT_EQUAL(std::string("localhost"), req2nd->getHost()); CPPUNIT_ASSERT_EQUAL(std::string("http"), req2nd->getProtocol()); - SharedHandle req3rd = fileEntry->getRequest(selector); + SharedHandle req3rd = + fileEntry->getRequest(selector, true, usedHosts); CPPUNIT_ASSERT_EQUAL(std::string("mirror"), req3rd->getHost()); CPPUNIT_ASSERT_EQUAL(std::string("http"), req3rd->getProtocol()); - SharedHandle req4th = fileEntry->getRequest(selector); + SharedHandle req4th = + fileEntry->getRequest(selector, true, usedHosts); CPPUNIT_ASSERT(req4th.isNull()); fileEntry->setMaxConnectionPerServer(2); - SharedHandle req5th = fileEntry->getRequest(selector); + SharedHandle req5th = + fileEntry->getRequest(selector, true, usedHosts); CPPUNIT_ASSERT_EQUAL(std::string("localhost"), req5th->getHost()); CPPUNIT_ASSERT_EQUAL(std::string("ftp"), req5th->getProtocol()); - SharedHandle req6th = fileEntry->getRequest(selector); + SharedHandle req6th = + fileEntry->getRequest(selector, true, usedHosts); CPPUNIT_ASSERT_EQUAL(std::string("mirror"), req6th->getHost()); CPPUNIT_ASSERT_EQUAL(std::string("http"), req6th->getProtocol()); - SharedHandle req7th = fileEntry->getRequest(selector); + SharedHandle req7th = + fileEntry->getRequest(selector, true, usedHosts); CPPUNIT_ASSERT(req7th.isNull()); } void FileEntryTest::testGetRequest_withoutUriReuse() { + std::vector > usedHosts; SharedHandle fileEntry = createFileEntry(); fileEntry->setMaxConnectionPerServer(2); SharedHandle selector(new InOrderURISelector()); - SharedHandle req = fileEntry->getRequest(selector, false); + SharedHandle req = fileEntry->getRequest(selector, false, usedHosts); CPPUNIT_ASSERT_EQUAL(std::string("localhost"), req->getHost()); CPPUNIT_ASSERT_EQUAL(std::string("http"), req->getProtocol()); - SharedHandle req2nd = fileEntry->getRequest(selector, false); + SharedHandle req2nd = + fileEntry->getRequest(selector, false, usedHosts); CPPUNIT_ASSERT_EQUAL(std::string("localhost"), req2nd->getHost()); CPPUNIT_ASSERT_EQUAL(std::string("ftp"), req2nd->getProtocol()); - SharedHandle req3rd = fileEntry->getRequest(selector, false); + SharedHandle req3rd = + fileEntry->getRequest(selector, false, usedHosts); CPPUNIT_ASSERT_EQUAL(std::string("mirror"), req3rd->getHost()); CPPUNIT_ASSERT_EQUAL(std::string("http"), req3rd->getProtocol()); - SharedHandle req4th = fileEntry->getRequest(selector, false); + SharedHandle req4th = + fileEntry->getRequest(selector, false, usedHosts); CPPUNIT_ASSERT(req4th.isNull()); } void FileEntryTest::testGetRequest_withUniqueProtocol() { + std::vector > usedHosts; SharedHandle fileEntry = createFileEntry(); fileEntry->setUniqueProtocol(true); SharedHandle selector(new InOrderURISelector()); - SharedHandle req = fileEntry->getRequest(selector); + SharedHandle req = + fileEntry->getRequest(selector, true, usedHosts); CPPUNIT_ASSERT_EQUAL(std::string("localhost"), req->getHost()); CPPUNIT_ASSERT_EQUAL(std::string("http"), req->getProtocol()); - SharedHandle req2nd = fileEntry->getRequest(selector); + SharedHandle req2nd = + fileEntry->getRequest(selector, true, usedHosts); CPPUNIT_ASSERT_EQUAL(std::string("mirror"), req2nd->getHost()); CPPUNIT_ASSERT_EQUAL(std::string("http"), req2nd->getProtocol()); - SharedHandle req3rd = fileEntry->getRequest(selector); + SharedHandle 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 = createFileEntry(); fileEntry->setMaxConnectionPerServer(3); size_t numUris = fileEntry->getRemainingUris().size(); + std::vector > 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 > usedHosts; SharedHandle 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 exampleOrgReq = file.getRequest(selector); + SharedHandle 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/"));