DirectDiskAdaptorTest.cc 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. #include "DirectDiskAdaptor.h"
  2. #include "FileEntry.h"
  3. #include "DefaultDiskWriter.h"
  4. #include "Exception.h"
  5. #include "Util.h"
  6. #include "TestUtil.h"
  7. #include <iostream>
  8. #include <cppunit/extensions/HelperMacros.h>
  9. namespace aria2 {
  10. class DirectDiskAdaptorTest:public CppUnit::TestFixture {
  11. CPPUNIT_TEST_SUITE(DirectDiskAdaptorTest);
  12. CPPUNIT_TEST(testCutTrailingGarbage);
  13. CPPUNIT_TEST_SUITE_END();
  14. public:
  15. void setUp() {}
  16. void tearDown() {}
  17. void testCutTrailingGarbage();
  18. };
  19. CPPUNIT_TEST_SUITE_REGISTRATION(DirectDiskAdaptorTest);
  20. void DirectDiskAdaptorTest::testCutTrailingGarbage()
  21. {
  22. std::string dir = "/tmp";
  23. SharedHandle<FileEntry> entry
  24. (new FileEntry(dir+"/aria2_DirectDiskAdaptorTest_testCutTrailingGarbage",
  25. 256, 0));
  26. createFile(entry->getPath(), entry->getLength()+100);
  27. std::deque<SharedHandle<FileEntry> > fileEntries;
  28. fileEntries.push_back(entry);
  29. DirectDiskAdaptor adaptor;
  30. adaptor.setDiskWriter(SharedHandle<DiskWriter>(new DefaultDiskWriter()));
  31. adaptor.setTotalLength(entry->getLength());
  32. adaptor.setStoreDir(dir);
  33. adaptor.setFileEntries(fileEntries);
  34. adaptor.openFile();
  35. adaptor.cutTrailingGarbage();
  36. CPPUNIT_ASSERT_EQUAL((uint64_t)entry->getLength(),
  37. File(entry->getPath()).size());
  38. }
  39. } // namespace aria2