summaryrefslogtreecommitdiff
path: root/test/MultiDiskAdaptorTest.cc
diff options
context:
space:
mode:
Diffstat (limited to 'test/MultiDiskAdaptorTest.cc')
-rw-r--r--test/MultiDiskAdaptorTest.cc135
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));
}