1*210f8dd7SStefano Ceccherini #include "MallocSeekTest.h" 2*210f8dd7SStefano Ceccherini #include "cppunit/TestCaller.h" 3*210f8dd7SStefano Ceccherini #include <DataIO.h> 4*210f8dd7SStefano Ceccherini #include <stdio.h> 5*210f8dd7SStefano Ceccherini MallocSeekTest(std::string name)6*210f8dd7SStefano CeccheriniMallocSeekTest::MallocSeekTest(std::string name) : 7*210f8dd7SStefano Ceccherini BTestCase(name) 8*210f8dd7SStefano Ceccherini { 9*210f8dd7SStefano Ceccherini } 10*210f8dd7SStefano Ceccherini 11*210f8dd7SStefano Ceccherini 12*210f8dd7SStefano Ceccherini ~MallocSeekTest()13*210f8dd7SStefano CeccheriniMallocSeekTest::~MallocSeekTest() 14*210f8dd7SStefano Ceccherini { 15*210f8dd7SStefano Ceccherini } 16*210f8dd7SStefano Ceccherini 17*210f8dd7SStefano Ceccherini 18*210f8dd7SStefano Ceccherini void PerformTest(void)19*210f8dd7SStefano CeccheriniMallocSeekTest::PerformTest(void) 20*210f8dd7SStefano Ceccherini { 21*210f8dd7SStefano Ceccherini BMallocIO mem; 22*210f8dd7SStefano Ceccherini off_t err; 23*210f8dd7SStefano Ceccherini 24*210f8dd7SStefano Ceccherini NextSubTest(); 25*210f8dd7SStefano Ceccherini err = mem.Seek(3, SEEK_SET); 26*210f8dd7SStefano Ceccherini CPPUNIT_ASSERT(err == 3); 27*210f8dd7SStefano Ceccherini 28*210f8dd7SStefano Ceccherini NextSubTest(); 29*210f8dd7SStefano Ceccherini err = mem.Seek(3, SEEK_CUR); 30*210f8dd7SStefano Ceccherini CPPUNIT_ASSERT(err == 6); 31*210f8dd7SStefano Ceccherini 32*210f8dd7SStefano Ceccherini NextSubTest(); 33*210f8dd7SStefano Ceccherini err = mem.Seek(0, SEEK_END); 34*210f8dd7SStefano Ceccherini CPPUNIT_ASSERT(err == 0); 35*210f8dd7SStefano Ceccherini 36*210f8dd7SStefano Ceccherini NextSubTest(); 37*210f8dd7SStefano Ceccherini err = mem.Seek(-5, SEEK_END); 38*210f8dd7SStefano Ceccherini CPPUNIT_ASSERT(err == -5); 39*210f8dd7SStefano Ceccherini 40*210f8dd7SStefano Ceccherini NextSubTest(); 41*210f8dd7SStefano Ceccherini err = mem.Seek(5, SEEK_END); 42*210f8dd7SStefano Ceccherini CPPUNIT_ASSERT(err == 5); 43*210f8dd7SStefano Ceccherini 44*210f8dd7SStefano Ceccherini NextSubTest(); 45*210f8dd7SStefano Ceccherini err = mem.Seek(-20, SEEK_SET); 46*210f8dd7SStefano Ceccherini CPPUNIT_ASSERT((int)err == -20); 47*210f8dd7SStefano Ceccherini } 48*210f8dd7SStefano Ceccherini 49*210f8dd7SStefano Ceccherini suite(void)50*210f8dd7SStefano CeccheriniCppUnit::Test *MallocSeekTest::suite(void) 51*210f8dd7SStefano Ceccherini { 52*210f8dd7SStefano Ceccherini typedef CppUnit::TestCaller<MallocSeekTest> 53*210f8dd7SStefano Ceccherini MallocSeekTestCaller; 54*210f8dd7SStefano Ceccherini 55*210f8dd7SStefano Ceccherini return(new MallocSeekTestCaller("BMallocIO::Seek Test", &MallocSeekTest::PerformTest)); 56*210f8dd7SStefano Ceccherini } 57