diff options
Diffstat (limited to 'test/MultiDiskAdaptorTest.cc')
| -rw-r--r-- | test/MultiDiskAdaptorTest.cc | 135 |
1 files changed, 67 insertions, 68 deletions
diff --git a/test/MultiDiskAdaptorTest.cc b/test/MultiDiskAdaptorTest.cc index 28d9f3f0..d8758bf6 100644 --- a/test/MultiDiskAdaptorTest.cc +++ b/test/MultiDiskAdaptorTest.cc @@ -16,7 +16,7 @@ namespace aria2 { -class MultiDiskAdaptorTest:public CppUnit::TestFixture { +class MultiDiskAdaptorTest : public CppUnit::TestFixture { CPPUNIT_TEST_SUITE(MultiDiskAdaptorTest); CPPUNIT_TEST(testWriteData); @@ -27,10 +27,13 @@ class MultiDiskAdaptorTest:public CppUnit::TestFixture { CPPUNIT_TEST(testResetDiskWriterEntries); CPPUNIT_TEST(testWriteCache); CPPUNIT_TEST_SUITE_END(); + private: std::unique_ptr<MultiDiskAdaptor> adaptor; + public: - void setUp() { + void setUp() + { adaptor = make_unique<MultiDiskAdaptor>(); adaptor->setPieceLength(2); } @@ -44,21 +47,20 @@ public: void testWriteCache(); }; +CPPUNIT_TEST_SUITE_REGISTRATION(MultiDiskAdaptorTest); -CPPUNIT_TEST_SUITE_REGISTRATION( MultiDiskAdaptorTest ); - -std::vector<std::shared_ptr<FileEntry> > createEntries() +std::vector<std::shared_ptr<FileEntry>> createEntries() { - std::vector<std::shared_ptr<FileEntry>> entries { - std::make_shared<FileEntry>(A2_TEST_OUT_DIR "/file0.txt", 0, 0), - std::make_shared<FileEntry>(A2_TEST_OUT_DIR "/file1.txt", 15, 0), - std::make_shared<FileEntry>(A2_TEST_OUT_DIR "/file2.txt", 7, 15), - std::make_shared<FileEntry>(A2_TEST_OUT_DIR "/file3.txt", 0, 22), - std::make_shared<FileEntry>(A2_TEST_OUT_DIR "/file4.txt", 2, 22), - std::make_shared<FileEntry>(A2_TEST_OUT_DIR "/file5.txt", 0, 24), - std::make_shared<FileEntry>(A2_TEST_OUT_DIR "/file6.txt", 3, 24), - std::make_shared<FileEntry>(A2_TEST_OUT_DIR "/file7.txt", 0, 27), - std::make_shared<FileEntry>(A2_TEST_OUT_DIR "/file8.txt", 2, 27), + std::vector<std::shared_ptr<FileEntry>> entries{ + std::make_shared<FileEntry>(A2_TEST_OUT_DIR "/file0.txt", 0, 0), + std::make_shared<FileEntry>(A2_TEST_OUT_DIR "/file1.txt", 15, 0), + std::make_shared<FileEntry>(A2_TEST_OUT_DIR "/file2.txt", 7, 15), + std::make_shared<FileEntry>(A2_TEST_OUT_DIR "/file3.txt", 0, 22), + std::make_shared<FileEntry>(A2_TEST_OUT_DIR "/file4.txt", 2, 22), + std::make_shared<FileEntry>(A2_TEST_OUT_DIR "/file5.txt", 0, 24), + std::make_shared<FileEntry>(A2_TEST_OUT_DIR "/file6.txt", 3, 24), + std::make_shared<FileEntry>(A2_TEST_OUT_DIR "/file7.txt", 0, 27), + std::make_shared<FileEntry>(A2_TEST_OUT_DIR "/file8.txt", 2, 27), }; // 1 1 2 2 3 // 0....5....0....5....0....5....0 @@ -72,7 +74,7 @@ std::vector<std::shared_ptr<FileEntry> > createEntries() // *** file6 // |file7 // ** file8 - for(const auto& i : entries) { + for (const auto& i : entries) { File(i->getPath()).remove(); } return entries; @@ -191,7 +193,7 @@ void MultiDiskAdaptorTest::testResetDiskWriterEntries() } { auto fileEntries = createEntries(); - for(size_t i = 5; i < 9; ++i) { + for (size_t i = 5; i < 9; ++i) { fileEntries[i]->setRequested(false); } adaptor->setFileEntries(fileEntries.begin(), fileEntries.end()); @@ -210,7 +212,7 @@ void MultiDiskAdaptorTest::testResetDiskWriterEntries() } { auto fileEntries = createEntries(); - for(size_t i = 1; i < 9; ++i) { + for (size_t i = 1; i < 9; ++i) { fileEntries[i]->setRequested(false); } adaptor->setFileEntries(fileEntries.begin(), fileEntries.end()); @@ -227,7 +229,7 @@ void MultiDiskAdaptorTest::testResetDiskWriterEntries() } { auto fileEntries = createEntries(); - for(size_t i = 2; i < 9; ++i) { + for (size_t i = 2; i < 9; ++i) { fileEntries[i]->setRequested(false); } adaptor->setFileEntries(fileEntries.begin(), fileEntries.end()); @@ -246,7 +248,7 @@ void MultiDiskAdaptorTest::testResetDiskWriterEntries() } { auto fileEntries = createEntries(); - for(size_t i = 0; i < 6; ++i) { + for (size_t i = 0; i < 6; ++i) { fileEntries[i]->setRequested(false); } fileEntries[8]->setRequested(false); @@ -268,19 +270,21 @@ void MultiDiskAdaptorTest::testResetDiskWriterEntries() } } -void readFile(const std::string& filename, char* buf, int bufLength) { +void readFile(const std::string& filename, char* buf, int bufLength) +{ FILE* f = fopen(filename.c_str(), "r"); - if(f == nullptr) { + if (f == nullptr) { CPPUNIT_FAIL(strerror(errno)); } int retval = fread(buf, bufLength, 1, f); fclose(f); - if(retval != 1) { + if (retval != 1) { CPPUNIT_FAIL("return value is not 1"); } } -void MultiDiskAdaptorTest::testWriteData() { +void MultiDiskAdaptorTest::testWriteData() +{ auto fileEntries = createEntries(); adaptor->setFileEntries(std::begin(fileEntries), std::end(fileEntries)); @@ -289,9 +293,9 @@ void MultiDiskAdaptorTest::testWriteData() { adaptor->writeData((const unsigned char*)msg.c_str(), msg.size(), 0); adaptor->closeFile(); - CPPUNIT_ASSERT(File(A2_TEST_OUT_DIR"/file0.txt").isFile()); + CPPUNIT_ASSERT(File(A2_TEST_OUT_DIR "/file0.txt").isFile()); char buf[128]; - readFile(A2_TEST_OUT_DIR"/file1.txt", buf, 5); + readFile(A2_TEST_OUT_DIR "/file1.txt", buf, 5); buf[5] = '\0'; CPPUNIT_ASSERT_EQUAL(msg, std::string(buf)); @@ -300,10 +304,10 @@ void MultiDiskAdaptorTest::testWriteData() { adaptor->writeData((const unsigned char*)msg2.c_str(), msg2.size(), 5); adaptor->closeFile(); - readFile(A2_TEST_OUT_DIR"/file1.txt", buf, 15); + readFile(A2_TEST_OUT_DIR "/file1.txt", buf, 15); buf[15] = '\0'; CPPUNIT_ASSERT_EQUAL(std::string("1234567890ABCDE"), std::string(buf)); - readFile(A2_TEST_OUT_DIR"/file2.txt", buf, 1); + readFile(A2_TEST_OUT_DIR "/file2.txt", buf, 1); buf[1] = '\0'; CPPUNIT_ASSERT_EQUAL(std::string("F"), std::string(buf)); @@ -312,29 +316,28 @@ void MultiDiskAdaptorTest::testWriteData() { adaptor->writeData((const unsigned char*)msg3.c_str(), msg3.size(), 10); adaptor->closeFile(); - readFile(A2_TEST_OUT_DIR"/file1.txt", buf, 15); + readFile(A2_TEST_OUT_DIR "/file1.txt", buf, 15); buf[15] = '\0'; CPPUNIT_ASSERT_EQUAL(std::string("123456789012345"), std::string(buf)); - readFile(A2_TEST_OUT_DIR"/file2.txt", buf, 7); + readFile(A2_TEST_OUT_DIR "/file2.txt", buf, 7); buf[7] = '\0'; CPPUNIT_ASSERT_EQUAL(std::string("1234567"), std::string(buf)); - CPPUNIT_ASSERT(File(A2_TEST_OUT_DIR"/file3.txt").isFile()); + CPPUNIT_ASSERT(File(A2_TEST_OUT_DIR "/file3.txt").isFile()); - readFile(A2_TEST_OUT_DIR"/file4.txt", buf, 2); + readFile(A2_TEST_OUT_DIR "/file4.txt", buf, 2); buf[2] = '\0'; CPPUNIT_ASSERT_EQUAL(std::string("12"), std::string(buf)); - CPPUNIT_ASSERT(File(A2_TEST_OUT_DIR"/file5.txt").isFile()); + CPPUNIT_ASSERT(File(A2_TEST_OUT_DIR "/file5.txt").isFile()); } void MultiDiskAdaptorTest::testReadData() { auto entries = std::vector<std::shared_ptr<FileEntry>>{ - std::make_shared<FileEntry>(A2_TEST_DIR "/file1r.txt", 15, 0), - std::make_shared<FileEntry>(A2_TEST_DIR "/file2r.txt", 7, 15), - std::make_shared<FileEntry>(A2_TEST_DIR "/file3r.txt", 3, 22) - }; + std::make_shared<FileEntry>(A2_TEST_DIR "/file1r.txt", 15, 0), + std::make_shared<FileEntry>(A2_TEST_DIR "/file2r.txt", 7, 15), + std::make_shared<FileEntry>(A2_TEST_DIR "/file3r.txt", 3, 22)}; adaptor->setFileEntries(std::begin(entries), std::end(entries)); adaptor->enableReadOnly(); @@ -360,11 +363,10 @@ void MultiDiskAdaptorTest::testCutTrailingGarbage() std::string dir = A2_TEST_OUT_DIR; std::string prefix = "aria2_MultiDiskAdaptorTest_testCutTrailingGarbage_"; auto fileEntries = std::vector<std::shared_ptr<FileEntry>>{ - std::make_shared<FileEntry>(dir+"/"+prefix+"1", 256, 0), - std::make_shared<FileEntry>(dir+"/"+prefix+"2", 512, 256) - }; - for(const auto& i : fileEntries) { - createFile(i->getPath(), i->getLength()+100); + std::make_shared<FileEntry>(dir + "/" + prefix + "1", 256, 0), + std::make_shared<FileEntry>(dir + "/" + prefix + "2", 512, 256)}; + for (const auto& i : fileEntries) { + createFile(i->getPath(), i->getLength() + 100); } MultiDiskAdaptor adaptor; @@ -375,10 +377,8 @@ void MultiDiskAdaptorTest::testCutTrailingGarbage() adaptor.cutTrailingGarbage(); - CPPUNIT_ASSERT_EQUAL((int64_t)256, - File(fileEntries[0]->getPath()).size()); - CPPUNIT_ASSERT_EQUAL((int64_t)512, - File(fileEntries[1]->getPath()).size()); + CPPUNIT_ASSERT_EQUAL((int64_t)256, File(fileEntries[0]->getPath()).size()); + CPPUNIT_ASSERT_EQUAL((int64_t)512, File(fileEntries[1]->getPath()).size()); } void MultiDiskAdaptorTest::testSize() @@ -386,10 +386,9 @@ void MultiDiskAdaptorTest::testSize() std::string dir = A2_TEST_OUT_DIR; std::string prefix = "aria2_MultiDiskAdaptorTest_testSize_"; auto fileEntries = std::vector<std::shared_ptr<FileEntry>>{ - std::make_shared<FileEntry>(dir+"/"+prefix+"1", 1, 0), - std::make_shared<FileEntry>(dir+"/"+prefix+"2", 1, 1) - }; - for(const auto& i : fileEntries) { + std::make_shared<FileEntry>(dir + "/" + prefix + "1", 1, 0), + std::make_shared<FileEntry>(dir + "/" + prefix + "2", 1, 1)}; + for (const auto& i : fileEntries) { createFile(i->getPath(), i->getLength()); } @@ -404,12 +403,13 @@ void MultiDiskAdaptorTest::testSize() void MultiDiskAdaptorTest::testUtime() { - std::string storeDir = A2_TEST_OUT_DIR"/aria2_MultiDiskAdaptorTest_testUtime"; + std::string storeDir = + A2_TEST_OUT_DIR "/aria2_MultiDiskAdaptorTest_testUtime"; auto entries = std::vector<std::shared_ptr<FileEntry>>{ - std::make_shared<FileEntry>(storeDir+"/requested", 0, 0), - std::make_shared<FileEntry>(storeDir+"/notFound", 0, 0), - std::make_shared<FileEntry>(storeDir+"/notRequested", 0, 0), - std::make_shared<FileEntry>(storeDir+"/anotherRequested", 0, 0), + std::make_shared<FileEntry>(storeDir + "/requested", 0, 0), + std::make_shared<FileEntry>(storeDir + "/notFound", 0, 0), + std::make_shared<FileEntry>(storeDir + "/notRequested", 0, 0), + std::make_shared<FileEntry>(storeDir + "/anotherRequested", 0, 0), }; createFile(entries[0]->getPath(), entries[0]->getLength()); @@ -422,8 +422,8 @@ void MultiDiskAdaptorTest::testUtime() MultiDiskAdaptor adaptor; adaptor.setFileEntries(std::begin(entries), std::end(entries)); - time_t atime = (time_t) 100000; - time_t mtime = (time_t) 200000; + time_t atime = (time_t)100000; + time_t mtime = (time_t)200000; CPPUNIT_ASSERT_EQUAL((size_t)2, adaptor.utime(Time(atime), Time(mtime))); @@ -443,12 +443,11 @@ void MultiDiskAdaptorTest::testUtime() void MultiDiskAdaptorTest::testWriteCache() { std::string storeDir = - A2_TEST_OUT_DIR"/aria2_MultiDiskAdaptorTest_testWriteCache"; + A2_TEST_OUT_DIR "/aria2_MultiDiskAdaptorTest_testWriteCache"; auto entries = std::vector<std::shared_ptr<FileEntry>>{ - std::make_shared<FileEntry>(storeDir+"/file1", 16385, 0), - std::make_shared<FileEntry>(storeDir+"/file2", 4098, 16385) - }; - for(const auto& i : entries) { + std::make_shared<FileEntry>(storeDir + "/file1", 16385, 0), + std::make_shared<FileEntry>(storeDir + "/file2", 4098, 16385)}; + for (const auto& i : entries) { File(i->getPath()).remove(); } auto adaptor = std::make_shared<MultiDiskAdaptor>(); @@ -457,27 +456,27 @@ void MultiDiskAdaptorTest::testWriteCache() std::string data1(16383, '1'), data2(100, '2'), data3(4000, '3'); cache.cacheData(createDataCell(0, data1.c_str())); cache.cacheData(createDataCell(data1.size(), data2.c_str())); - cache.cacheData(createDataCell(data1.size()+data2.size(), data3.c_str())); + cache.cacheData(createDataCell(data1.size() + data2.size(), data3.c_str())); adaptor->openFile(); adaptor->writeCache(&cache); - for(int i = 0; i < 2; ++i) { + for (int i = 0; i < 2; ++i) { CPPUNIT_ASSERT_EQUAL(entries[i]->getLength(), File(entries[i]->getPath()).size()); } - CPPUNIT_ASSERT_EQUAL(data1+data2.substr(0, 2), + CPPUNIT_ASSERT_EQUAL(data1 + data2.substr(0, 2), readFile(entries[0]->getPath())); - CPPUNIT_ASSERT_EQUAL(data2.substr(2)+data3, + CPPUNIT_ASSERT_EQUAL(data2.substr(2) + data3, readFile(entries[1]->getPath())); adaptor->closeFile(); - for(int i = 0; i < 2; ++i) { + for (int i = 0; i < 2; ++i) { File(entries[i]->getPath()).remove(); } cache.clear(); cache.cacheData(createDataCell(123, data2.c_str())); adaptor->openFile(); adaptor->writeCache(&cache); - CPPUNIT_ASSERT_EQUAL((int64_t)(123+data2.size()), + CPPUNIT_ASSERT_EQUAL((int64_t)(123 + data2.size()), File(entries[0]->getPath()).size()); CPPUNIT_ASSERT_EQUAL(data2, readFile(entries[0]->getPath()).substr(123)); } |
