mirror of
https://github.com/aria2/aria2.git
synced 2025-04-06 05:57:36 +03:00
Now the constructor of AbstractDiskWriter takes filename as an argument and filename argument is removed from openFile(), initAndOpenFile(), openExistingFile() interface. storeDir member and its accessor functions are removed from DiskAdaptor because it is not used anymore. size() member function of DefaultDiskWriter, DirectDiskAdaptor and MultiDiskAdaptor now can be called without opening file. * src/AbstractDiskWriter.cc * src/AbstractDiskWriter.h * src/AbstractSingleDiskAdaptor.cc * src/AbstractSingleDiskAdaptor.h * src/ByteArrayDiskWriter.cc * src/ByteArrayDiskWriter.h * src/ByteArrayDiskWriterFactory.cc * src/ByteArrayDiskWriterFactory.h * src/DefaultDiskWriter.cc * src/DefaultDiskWriter.h * src/DefaultDiskWriterFactory.cc * src/DefaultDiskWriterFactory.h * src/DefaultPieceStorage.cc * src/DirectDiskAdaptor.cc * src/DirectDiskAdaptor.h * src/DiskAdaptor.h * src/DiskWriter.h * src/DiskWriterFactory.h * src/MessageDigestHelper.cc * src/MultiDiskAdaptor.cc * src/RequestGroup.cc * src/UnknownLengthPieceStorage.cc * src/Util.cc * test/DefaultDiskWriterTest.cc * test/DirectDiskAdaptorTest.cc * test/FallocFileAllocationIteratorTest.cc * test/MessageDigestHelperTest.cc * test/MetalinkProcessorTest.cc * test/MultiDiskAdaptorTest.cc * test/MultiFileAllocationIteratorTest.cc * test/SingleFileAllocationIteratorTest.cc * test/UtilTest.cc
52 lines
1.3 KiB
C++
52 lines
1.3 KiB
C++
#include "DirectDiskAdaptor.h"
|
|
#include "FileEntry.h"
|
|
#include "DefaultDiskWriter.h"
|
|
#include "Exception.h"
|
|
#include "Util.h"
|
|
#include "TestUtil.h"
|
|
#include <iostream>
|
|
#include <cppunit/extensions/HelperMacros.h>
|
|
|
|
namespace aria2 {
|
|
|
|
class DirectDiskAdaptorTest:public CppUnit::TestFixture {
|
|
|
|
CPPUNIT_TEST_SUITE(DirectDiskAdaptorTest);
|
|
CPPUNIT_TEST(testCutTrailingGarbage);
|
|
CPPUNIT_TEST_SUITE_END();
|
|
public:
|
|
void setUp() {}
|
|
|
|
void tearDown() {}
|
|
|
|
void testCutTrailingGarbage();
|
|
};
|
|
|
|
|
|
CPPUNIT_TEST_SUITE_REGISTRATION(DirectDiskAdaptorTest);
|
|
|
|
void DirectDiskAdaptorTest::testCutTrailingGarbage()
|
|
{
|
|
std::string dir = "/tmp";
|
|
SharedHandle<FileEntry> entry
|
|
(new FileEntry(dir+"/aria2_DirectDiskAdaptorTest_testCutTrailingGarbage",
|
|
256, 0));
|
|
createFile(entry->getPath(), entry->getLength()+100);
|
|
|
|
std::deque<SharedHandle<FileEntry> > fileEntries;
|
|
fileEntries.push_back(entry);
|
|
|
|
DirectDiskAdaptor adaptor;
|
|
adaptor.setDiskWriter
|
|
(SharedHandle<DiskWriter>(new DefaultDiskWriter(entry->getPath())));
|
|
adaptor.setTotalLength(entry->getLength());
|
|
adaptor.setFileEntries(fileEntries);
|
|
adaptor.openFile();
|
|
|
|
adaptor.cutTrailingGarbage();
|
|
|
|
CPPUNIT_ASSERT_EQUAL((uint64_t)entry->getLength(),
|
|
File(entry->getPath()).size());
|
|
}
|
|
|
|
} // namespace aria2
|