| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 | #include "FallocFileAllocationIterator.h"#include <fstream>#include <cppunit/extensions/HelperMacros.h>#include "a2functional.h"#include "File.h"#include "DefaultDiskWriter.h"namespace aria2 {class FallocFileAllocationIteratorTest:public CppUnit::TestFixture {  CPPUNIT_TEST_SUITE(FallocFileAllocationIteratorTest);  CPPUNIT_TEST(testAllocate);  CPPUNIT_TEST_SUITE_END();private:public:  void setUp() {}  void testAllocate();};CPPUNIT_TEST_SUITE_REGISTRATION( FallocFileAllocationIteratorTest );void FallocFileAllocationIteratorTest::testAllocate(){  // When fallocate is used, test fails if file system does not  // support it. So skip it.#ifndef HAVE_FALLOCATE  std::string fn = A2_TEST_OUT_DIR"/aria2_FallocFileAllocationIteratorTest_testAllocate";  std::ofstream of(fn.c_str(), std::ios::binary);  of << "0123456789";  of.close();  File f(fn);  CPPUNIT_ASSERT_EQUAL((int64_t)10, f.size());  DefaultDiskWriter writer(fn);  int64_t offset = 10;  int64_t totalLength = 40_k;  // we have to open file first.  writer.openExistingFile();  FallocFileAllocationIterator itr(&writer, offset, totalLength);  itr.allocateChunk();  CPPUNIT_ASSERT(itr.finished());  CPPUNIT_ASSERT_EQUAL((int64_t)40_k, f.size());#endif // !HAVE_FALLOCATE}} // namespace aria2
 |