| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 | 
							- #include "GlowFileAllocator.h"
 
- #include "File.h"
 
- #include <sys/types.h>
 
- #include <sys/stat.h>
 
- #include <fcntl.h>
 
- #include <fstream>
 
- #include <iomanip>
 
- #include <cppunit/extensions/HelperMacros.h>
 
- class GlowFileAllocatorTest:public CppUnit::TestFixture {
 
-   CPPUNIT_TEST_SUITE(GlowFileAllocatorTest);
 
-   CPPUNIT_TEST(testAllocate);
 
-   CPPUNIT_TEST_SUITE_END();
 
- private:
 
- public:
 
-   void setUp() {}
 
-   void testAllocate();
 
- };
 
- CPPUNIT_TEST_SUITE_REGISTRATION( GlowFileAllocatorTest );
 
- void GlowFileAllocatorTest::testAllocate()
 
- {
 
-   string fn = "/tmp/aria2_GlowFileAllocatorTest_testAllocate";
 
-   ofstream of(fn.c_str());
 
-   of << "0123456789";
 
-   of.close();
 
-   File x("/tmp/aria2_GlowFileAllocatorTest_testAllocate");
 
-   CPPUNIT_ASSERT_EQUAL((int64_t)10, x.size());
 
-   int fd;
 
-   if((fd = open(fn.c_str(), O_RDWR, S_IRUSR|S_IWUSR)) < 0) {
 
-     CPPUNIT_FAIL("cannot open file");
 
-   }
 
-   GlowFileAllocator allocator;
 
-   allocator.allocate(fd, 4097);
 
-   if(close(fd) < 0) {
 
-     CPPUNIT_FAIL("cannot close file");
 
-   }
 
-   ifstream is(fn.c_str());
 
-   char buf[11];
 
-   is >> std::setw(sizeof(buf)) >> buf;
 
-   CPPUNIT_ASSERT(strcmp("0123456789", buf) == 0);
 
-   File f(fn);
 
-   CPPUNIT_ASSERT_EQUAL((int64_t)4097, f.size());
 
- }
 
 
  |