xref: /haiku/src/tests/kits/support/bmemoryio/MallocSeekTest.cpp (revision 459a94c163f127d416a0119993ecc1205b472e0c)
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 Ceccherini MallocSeekTest::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 Ceccherini MallocSeekTest::~MallocSeekTest()
14*210f8dd7SStefano Ceccherini {
15*210f8dd7SStefano Ceccherini }
16*210f8dd7SStefano Ceccherini 
17*210f8dd7SStefano Ceccherini 
18*210f8dd7SStefano Ceccherini void
PerformTest(void)19*210f8dd7SStefano Ceccherini MallocSeekTest::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 Ceccherini CppUnit::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