diff options
| author | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2016-03-26 17:12:52 +0900 |
|---|---|---|
| committer | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2016-03-26 17:20:27 +0900 |
| commit | d64089632e82a2548752c7a6baaa68365a795a74 (patch) | |
| tree | 57fc7b85a8c1290975d58fa4761b04a7695bf7e3 /test/DownloadHelperTest.cc | |
| parent | c81b1321122e8509b55c94c0cbca0d8d6d319f0c (diff) | |
| parent | a7cd943a06b1a5ff4515b57060b84037f8d01f9f (diff) | |
Merge branch 'master' into random-webseeding
Diffstat (limited to 'test/DownloadHelperTest.cc')
| -rw-r--r-- | test/DownloadHelperTest.cc | 158 |
1 files changed, 66 insertions, 92 deletions
diff --git a/test/DownloadHelperTest.cc b/test/DownloadHelperTest.cc index 38871cc3..e7da8177 100644 --- a/test/DownloadHelperTest.cc +++ b/test/DownloadHelperTest.cc @@ -15,12 +15,12 @@ #include "util.h" #include "FileEntry.h" #ifdef ENABLE_BITTORRENT -# include "bittorrent_helper.h" +#include "bittorrent_helper.h" #endif // ENABLE_BITTORRENT namespace aria2 { -class DownloadHelperTest:public CppUnit::TestFixture { +class DownloadHelperTest : public CppUnit::TestFixture { CPPUNIT_TEST_SUITE(DownloadHelperTest); CPPUNIT_TEST(testCreateRequestGroupForUri); @@ -38,13 +38,12 @@ class DownloadHelperTest:public CppUnit::TestFixture { #endif // ENABLE_METALINK CPPUNIT_TEST_SUITE_END(); + private: std::shared_ptr<Option> option_; + public: - void setUp() - { - option_.reset(new Option()); - } + void setUp() { option_.reset(new Option()); } void tearDown() {} @@ -63,30 +62,25 @@ public: #endif // ENABLE_METALINK }; - CPPUNIT_TEST_SUITE_REGISTRATION(DownloadHelperTest); void DownloadHelperTest::testCreateRequestGroupForUri() { - std::vector<std::string> uris { - "http://alpha/file", - "http://bravo/file", - "http://charlie/file" - }; + std::vector<std::string> uris{"http://alpha/file", "http://bravo/file", + "http://charlie/file"}; option_->put(PREF_SPLIT, "7"); option_->put(PREF_MAX_CONNECTION_PER_SERVER, "2"); option_->put(PREF_DIR, "/tmp"); option_->put(PREF_OUT, "file.out"); { - std::vector<std::shared_ptr<RequestGroup> > result; + std::vector<std::shared_ptr<RequestGroup>> result; createRequestGroupForUri(result, option_, uris); CPPUNIT_ASSERT_EQUAL((size_t)1, result.size()); std::shared_ptr<RequestGroup> group = result[0]; - auto xuris = - group->getDownloadContext()->getFirstFileEntry()->getUris(); + auto xuris = group->getDownloadContext()->getFirstFileEntry()->getUris(); CPPUNIT_ASSERT_EQUAL((size_t)6, xuris.size()); - for(size_t i = 0; i < 6; ++i) { - CPPUNIT_ASSERT_EQUAL(uris[i%3], xuris[i]); + for (size_t i = 0; i < 6; ++i) { + CPPUNIT_ASSERT_EQUAL(uris[i % 3], xuris[i]); } CPPUNIT_ASSERT_EQUAL(7, group->getNumConcurrentCommand()); std::shared_ptr<DownloadContext> ctx = group->getDownloadContext(); @@ -94,45 +88,44 @@ void DownloadHelperTest::testCreateRequestGroupForUri() } option_->put(PREF_SPLIT, "5"); { - std::vector<std::shared_ptr<RequestGroup> > result; + std::vector<std::shared_ptr<RequestGroup>> result; createRequestGroupForUri(result, option_, uris); CPPUNIT_ASSERT_EQUAL((size_t)1, result.size()); std::shared_ptr<RequestGroup> group = result[0]; - auto xuris = - group->getDownloadContext()->getFirstFileEntry()->getUris(); + auto xuris = group->getDownloadContext()->getFirstFileEntry()->getUris(); CPPUNIT_ASSERT_EQUAL((size_t)5, xuris.size()); - for(size_t i = 0; i < 5; ++i) { - CPPUNIT_ASSERT_EQUAL(uris[i%3], xuris[i]); + for (size_t i = 0; i < 5; ++i) { + CPPUNIT_ASSERT_EQUAL(uris[i % 3], xuris[i]); } } option_->put(PREF_SPLIT, "2"); { - std::vector<std::shared_ptr<RequestGroup> > result; + std::vector<std::shared_ptr<RequestGroup>> result; createRequestGroupForUri(result, option_, uris); CPPUNIT_ASSERT_EQUAL((size_t)1, result.size()); std::shared_ptr<RequestGroup> group = result[0]; - auto xuris = - group->getDownloadContext()->getFirstFileEntry()->getUris(); + auto xuris = group->getDownloadContext()->getFirstFileEntry()->getUris(); CPPUNIT_ASSERT_EQUAL((size_t)3, xuris.size()); - for(size_t i = 0; i < 3; ++i) { - CPPUNIT_ASSERT_EQUAL(uris[i%3], xuris[i]); + for (size_t i = 0; i < 3; ++i) { + CPPUNIT_ASSERT_EQUAL(uris[i % 3], xuris[i]); } } option_->put(PREF_FORCE_SEQUENTIAL, A2_V_TRUE); { - std::vector<std::shared_ptr<RequestGroup> > result; + std::vector<std::shared_ptr<RequestGroup>> result; createRequestGroupForUri(result, option_, uris); CPPUNIT_ASSERT_EQUAL((size_t)3, result.size()); // for alpha server std::shared_ptr<RequestGroup> alphaGroup = result[0]; auto alphaURIs = - alphaGroup->getDownloadContext()->getFirstFileEntry()->getUris(); + alphaGroup->getDownloadContext()->getFirstFileEntry()->getUris(); CPPUNIT_ASSERT_EQUAL((size_t)2, alphaURIs.size()); - for(size_t i = 0; i < 2; ++i) { + for (size_t i = 0; i < 2; ++i) { CPPUNIT_ASSERT_EQUAL(uris[0], alphaURIs[i]); } CPPUNIT_ASSERT_EQUAL(2, alphaGroup->getNumConcurrentCommand()); - std::shared_ptr<DownloadContext> alphaCtx = alphaGroup->getDownloadContext(); + std::shared_ptr<DownloadContext> alphaCtx = + alphaGroup->getDownloadContext(); // See filename is not assigned yet CPPUNIT_ASSERT_EQUAL(std::string(""), alphaCtx->getBasePath()); } @@ -140,24 +133,21 @@ void DownloadHelperTest::testCreateRequestGroupForUri() void DownloadHelperTest::testCreateRequestGroupForUri_parameterized() { - std::vector<std::string> uris { - "http://{alpha, bravo}/file", - "http://charlie/file" - }; + std::vector<std::string> uris{"http://{alpha, bravo}/file", + "http://charlie/file"}; option_->put(PREF_MAX_CONNECTION_PER_SERVER, "1"); option_->put(PREF_SPLIT, "3"); option_->put(PREF_DIR, "/tmp"); option_->put(PREF_OUT, "file.out"); option_->put(PREF_PARAMETERIZED_URI, A2_V_TRUE); { - std::vector<std::shared_ptr<RequestGroup> > result; + std::vector<std::shared_ptr<RequestGroup>> result; createRequestGroupForUri(result, option_, uris); CPPUNIT_ASSERT_EQUAL((size_t)1, result.size()); std::shared_ptr<RequestGroup> group = result[0]; - auto uris = - group->getDownloadContext()->getFirstFileEntry()->getUris(); + auto uris = group->getDownloadContext()->getFirstFileEntry()->getUris(); CPPUNIT_ASSERT_EQUAL((size_t)3, uris.size()); CPPUNIT_ASSERT_EQUAL(std::string("http://alpha/file"), uris[0]); @@ -173,25 +163,21 @@ void DownloadHelperTest::testCreateRequestGroupForUri_parameterized() #ifdef ENABLE_BITTORRENT void DownloadHelperTest::testCreateRequestGroupForUri_BitTorrent() { - std::vector<std::string> uris { - "http://alpha/file", - A2_TEST_DIR "/test.torrent", - "http://bravo/file", - "http://charlie/file" - }; + std::vector<std::string> uris{"http://alpha/file", + A2_TEST_DIR "/test.torrent", + "http://bravo/file", "http://charlie/file"}; option_->put(PREF_MAX_CONNECTION_PER_SERVER, "1"); option_->put(PREF_SPLIT, "3"); option_->put(PREF_DIR, "/tmp"); option_->put(PREF_OUT, "file.out"); { - std::vector<std::shared_ptr<RequestGroup> > result; + std::vector<std::shared_ptr<RequestGroup>> result; createRequestGroupForUri(result, option_, uris); CPPUNIT_ASSERT_EQUAL((size_t)2, result.size()); std::shared_ptr<RequestGroup> group = result[0]; - auto xuris = - group->getDownloadContext()->getFirstFileEntry()->getUris(); + auto xuris = group->getDownloadContext()->getFirstFileEntry()->getUris(); CPPUNIT_ASSERT_EQUAL((size_t)3, xuris.size()); CPPUNIT_ASSERT_EQUAL(uris[0], xuris[0]); @@ -200,17 +186,15 @@ void DownloadHelperTest::testCreateRequestGroupForUri_BitTorrent() CPPUNIT_ASSERT_EQUAL(3, group->getNumConcurrentCommand()); std::shared_ptr<DownloadContext> ctx = group->getDownloadContext(); - CPPUNIT_ASSERT_EQUAL(std::string("/tmp/file.out"), - ctx->getBasePath()); + CPPUNIT_ASSERT_EQUAL(std::string("/tmp/file.out"), ctx->getBasePath()); std::shared_ptr<RequestGroup> torrentGroup = result[1]; auto auxURIs = - torrentGroup->getDownloadContext()->getFirstFileEntry()->getUris(); + torrentGroup->getDownloadContext()->getFirstFileEntry()->getUris(); CPPUNIT_ASSERT(auxURIs.empty()); CPPUNIT_ASSERT_EQUAL(3, torrentGroup->getNumConcurrentCommand()); std::shared_ptr<DownloadContext> btctx = torrentGroup->getDownloadContext(); - CPPUNIT_ASSERT_EQUAL(std::string("/tmp/aria2-test"), - btctx->getBasePath()); + CPPUNIT_ASSERT_EQUAL(std::string("/tmp/aria2-test"), btctx->getBasePath()); } } #endif // ENABLE_BITTORRENT @@ -218,46 +202,40 @@ void DownloadHelperTest::testCreateRequestGroupForUri_BitTorrent() #ifdef ENABLE_METALINK void DownloadHelperTest::testCreateRequestGroupForUri_Metalink() { - std::vector<std::string> uris { - "http://alpha/file", - "http://bravo/file", - "http://charlie/file", - A2_TEST_DIR "/test.xml" - }; + std::vector<std::string> uris{"http://alpha/file", "http://bravo/file", + "http://charlie/file", A2_TEST_DIR "/test.xml"}; option_->put(PREF_MAX_CONNECTION_PER_SERVER, "1"); option_->put(PREF_SPLIT, "2"); option_->put(PREF_DIR, "/tmp"); option_->put(PREF_OUT, "file.out"); { - std::vector<std::shared_ptr<RequestGroup> > result; + std::vector<std::shared_ptr<RequestGroup>> result; createRequestGroupForUri(result, option_, uris); - // group1: http://alpha/file, ... - // group2-7: 6 file entry in Metalink and 1 torrent file download +// group1: http://alpha/file, ... +// group2-7: 6 file entry in Metalink and 1 torrent file download #ifdef ENABLE_BITTORRENT CPPUNIT_ASSERT_EQUAL((size_t)7, result.size()); -#else // !ENABLE_BITTORRENT +#else // !ENABLE_BITTORRENT CPPUNIT_ASSERT_EQUAL((size_t)6, result.size()); #endif // !ENABLE_BITTORRENT std::shared_ptr<RequestGroup> group = result[0]; - auto xuris = - group->getDownloadContext()->getFirstFileEntry()->getUris(); + auto xuris = group->getDownloadContext()->getFirstFileEntry()->getUris(); CPPUNIT_ASSERT_EQUAL((size_t)3, xuris.size()); - for(size_t i = 0; i < 3; ++i) { + for (size_t i = 0; i < 3; ++i) { CPPUNIT_ASSERT_EQUAL(uris[i], xuris[i]); } CPPUNIT_ASSERT_EQUAL(2, group->getNumConcurrentCommand()); std::shared_ptr<DownloadContext> ctx = group->getDownloadContext(); - CPPUNIT_ASSERT_EQUAL(std::string("/tmp/file.out"), - ctx->getBasePath()); + CPPUNIT_ASSERT_EQUAL(std::string("/tmp/file.out"), ctx->getBasePath()); std::shared_ptr<RequestGroup> aria2052Group = result[1]; CPPUNIT_ASSERT_EQUAL(1, // because of maxconnections attribute aria2052Group->getNumConcurrentCommand()); std::shared_ptr<DownloadContext> aria2052Ctx = - aria2052Group->getDownloadContext(); + aria2052Group->getDownloadContext(); CPPUNIT_ASSERT_EQUAL(std::string("/tmp/aria2-0.5.2.tar.bz2"), aria2052Ctx->getBasePath()); @@ -271,11 +249,11 @@ void DownloadHelperTest::testCreateRequestGroupForUriList() { option_->put(PREF_MAX_CONNECTION_PER_SERVER, "3"); option_->put(PREF_SPLIT, "3"); - option_->put(PREF_INPUT_FILE, A2_TEST_DIR"/input_uris.txt"); + option_->put(PREF_INPUT_FILE, A2_TEST_DIR "/input_uris.txt"); option_->put(PREF_DIR, "/tmp"); option_->put(PREF_OUT, "file.out"); - std::vector<std::shared_ptr<RequestGroup> > result; + std::vector<std::shared_ptr<RequestGroup>> result; createRequestGroupForUriList(result, option_); @@ -283,7 +261,7 @@ void DownloadHelperTest::testCreateRequestGroupForUriList() std::shared_ptr<RequestGroup> fileGroup = result[0]; auto fileURIs = - fileGroup->getDownloadContext()->getFirstFileEntry()->getUris(); + fileGroup->getDownloadContext()->getFirstFileEntry()->getUris(); CPPUNIT_ASSERT_EQUAL(std::string("http://alpha/file"), fileURIs[0]); CPPUNIT_ASSERT_EQUAL(std::string("http://bravo/file"), fileURIs[1]); CPPUNIT_ASSERT_EQUAL(std::string("http://charlie/file"), fileURIs[2]); @@ -293,7 +271,8 @@ void DownloadHelperTest::testCreateRequestGroupForUriList() fileCtx->getBasePath()); std::shared_ptr<RequestGroup> fileISOGroup = result[1]; - std::shared_ptr<DownloadContext> fileISOCtx = fileISOGroup->getDownloadContext(); + std::shared_ptr<DownloadContext> fileISOCtx = + fileISOGroup->getDownloadContext(); // PREF_OUT in option_ must be ignored. CPPUNIT_ASSERT_EQUAL(std::string(), fileISOCtx->getBasePath()); } @@ -301,20 +280,17 @@ void DownloadHelperTest::testCreateRequestGroupForUriList() #ifdef ENABLE_BITTORRENT void DownloadHelperTest::testCreateRequestGroupForBitTorrent() { - std::vector<std::string> auxURIs { - "http://alpha/file", - "http://bravo/file", - "http://charlie/file" - }; + std::vector<std::string> auxURIs{"http://alpha/file", "http://bravo/file", + "http://charlie/file"}; option_->put(PREF_MAX_CONNECTION_PER_SERVER, "2"); option_->put(PREF_SPLIT, "5"); - option_->put(PREF_TORRENT_FILE, A2_TEST_DIR"/test.torrent"); + option_->put(PREF_TORRENT_FILE, A2_TEST_DIR "/test.torrent"); option_->put(PREF_DIR, "/tmp"); option_->put(PREF_OUT, "file.out"); option_->put(PREF_BT_EXCLUDE_TRACKER, "http://tracker1"); { - std::vector<std::shared_ptr<RequestGroup> > result; + std::vector<std::shared_ptr<RequestGroup>> result; createRequestGroupForBitTorrent(result, option_, auxURIs, option_->get(PREF_TORRENT_FILE)); @@ -322,14 +298,14 @@ void DownloadHelperTest::testCreateRequestGroupForBitTorrent() CPPUNIT_ASSERT_EQUAL((size_t)1, result.size()); std::shared_ptr<RequestGroup> group = result[0]; - auto uris = - group->getDownloadContext()->getFirstFileEntry()->getUris(); + auto uris = group->getDownloadContext()->getFirstFileEntry()->getUris(); std::sort(std::begin(uris), std::end(uris)); // See -s option is ignored. See processRootDictionary() in // bittorrent_helper.cc CPPUNIT_ASSERT_EQUAL((size_t)3, uris.size()); - for(size_t i = 0; i < auxURIs.size(); ++i) { - CPPUNIT_ASSERT_EQUAL(auxURIs[i]+"/aria2-test/aria2/src/aria2c", uris[i]); + for (size_t i = 0; i < auxURIs.size(); ++i) { + CPPUNIT_ASSERT_EQUAL(auxURIs[i] + "/aria2-test/aria2/src/aria2c", + uris[i]); } CPPUNIT_ASSERT_EQUAL(5, group->getNumConcurrentCommand()); auto attrs = bittorrent::getTorrentAttrs(group->getDownloadContext()); @@ -338,20 +314,19 @@ void DownloadHelperTest::testCreateRequestGroupForBitTorrent() } { // no URIs are given - std::vector<std::shared_ptr<RequestGroup> > result; + std::vector<std::shared_ptr<RequestGroup>> result; std::vector<std::string> emptyURIs; createRequestGroupForBitTorrent(result, option_, emptyURIs, option_->get(PREF_TORRENT_FILE)); CPPUNIT_ASSERT_EQUAL((size_t)1, result.size()); std::shared_ptr<RequestGroup> group = result[0]; - auto uris = - group->getDownloadContext()->getFirstFileEntry()->getUris(); + auto uris = group->getDownloadContext()->getFirstFileEntry()->getUris(); CPPUNIT_ASSERT_EQUAL((size_t)0, uris.size()); } option_->put(PREF_FORCE_SEQUENTIAL, A2_V_TRUE); { - std::vector<std::shared_ptr<RequestGroup> > result; + std::vector<std::shared_ptr<RequestGroup>> result; createRequestGroupForBitTorrent(result, option_, auxURIs, option_->get(PREF_TORRENT_FILE)); @@ -366,22 +341,21 @@ void DownloadHelperTest::testCreateRequestGroupForBitTorrent() void DownloadHelperTest::testCreateRequestGroupForMetalink() { option_->put(PREF_SPLIT, "5"); - option_->put(PREF_METALINK_FILE, A2_TEST_DIR"/test.xml"); + option_->put(PREF_METALINK_FILE, A2_TEST_DIR "/test.xml"); option_->put(PREF_DIR, "/tmp"); option_->put(PREF_OUT, "file.out"); { - std::vector<std::shared_ptr<RequestGroup> > result; + std::vector<std::shared_ptr<RequestGroup>> result; createRequestGroupForMetalink(result, option_); #ifdef ENABLE_BITTORRENT CPPUNIT_ASSERT_EQUAL((size_t)6, result.size()); -#else // !ENABLE_BITTORRENT +#else // !ENABLE_BITTORRENT CPPUNIT_ASSERT_EQUAL((size_t)5, result.size()); #endif // !ENABLE_BITTORRENT std::shared_ptr<RequestGroup> group = result[0]; - auto uris = - group->getDownloadContext()->getFirstFileEntry()->getUris(); + auto uris = group->getDownloadContext()->getFirstFileEntry()->getUris(); std::sort(uris.begin(), uris.end()); CPPUNIT_ASSERT_EQUAL((size_t)2, uris.size()); CPPUNIT_ASSERT_EQUAL(std::string("ftp://ftphost/aria2-0.5.2.tar.bz2"), |
