BMallocIO Tests

git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1212 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Stefano Ceccherini
2002-09-27 16:30:22 +00:00
parent b3d1f5fa24
commit 210f8dd7cc
8 changed files with 259 additions and 0 deletions
@@ -0,0 +1,51 @@
#include "MallocBufferLengthTest.h"
#include "cppunit/TestCaller.h"
#include <DataIO.h>
#include <stdio.h>
MallocBufferLengthTest::MallocBufferLengthTest(std::string name) :
BTestCase(name)
{
}
MallocBufferLengthTest::~MallocBufferLengthTest()
{
}
void
MallocBufferLengthTest::PerformTest(void)
{
BMallocIO mem;
size_t size;
size_t bufLen;
status_t error;
char writeBuf[11] = "0123456789";
NextSubTest();
bufLen = mem.BufferLength();
CPPUNIT_ASSERT(bufLen == 0);
NextSubTest();
size = mem.Write(writeBuf, 10);
bufLen = mem.BufferLength();
CPPUNIT_ASSERT(bufLen == 10);
CPPUNIT_ASSERT(size = 10);
NextSubTest();
error = mem.SetSize(0);
bufLen = mem.BufferLength();
CPPUNIT_ASSERT(bufLen == 0);
CPPUNIT_ASSERT(error == B_OK);
}
CppUnit::Test *MallocBufferLengthTest::suite(void)
{
typedef CppUnit::TestCaller<MallocBufferLengthTest>
MallocBufferLengthTestCaller;
return(new MallocBufferLengthTestCaller("BMallocIO::BufferLength Test", &MallocBufferLengthTest::PerformTest));
}
@@ -0,0 +1,22 @@
#ifndef MallocBufferLengthTest_H
#define MallocBufferLengthTest_H
#include "TestCase.h"
#include <DataIO.h>
class MallocBufferLengthTest : public BTestCase
{
private:
protected:
public:
static Test *suite(void);
void PerformTest(void);
MallocBufferLengthTest(std::string name = "");
virtual ~MallocBufferLengthTest();
};
#endif
@@ -0,0 +1,24 @@
#include "cppunit/Test.h"
#include "cppunit/TestSuite.h"
#include "MallocIOTest.h"
#include "MallocSeekTest.h"
#include "MallocWriteTest.h"
#include "MallocBufferLengthTest.h"
CppUnit::Test *MallocIOTestSuite()
{
CppUnit::TestSuite *testSuite = new CppUnit::TestSuite();
testSuite->addTest(MallocSeekTest::suite());
testSuite->addTest(MallocWriteTest::suite());
testSuite->addTest(MallocBufferLengthTest::suite());
return(testSuite);
}
@@ -0,0 +1,14 @@
#ifndef _mallocio_test_h_
#define _mallocio_test_h_
class CppUnit::Test;
CppUnit::Test *MallocIOTestSuite();
#endif // _mallocio_test_h_
@@ -0,0 +1,56 @@
#include "MallocSeekTest.h"
#include "cppunit/TestCaller.h"
#include <DataIO.h>
#include <stdio.h>
MallocSeekTest::MallocSeekTest(std::string name) :
BTestCase(name)
{
}
MallocSeekTest::~MallocSeekTest()
{
}
void
MallocSeekTest::PerformTest(void)
{
BMallocIO mem;
off_t err;
NextSubTest();
err = mem.Seek(3, SEEK_SET);
CPPUNIT_ASSERT(err == 3);
NextSubTest();
err = mem.Seek(3, SEEK_CUR);
CPPUNIT_ASSERT(err == 6);
NextSubTest();
err = mem.Seek(0, SEEK_END);
CPPUNIT_ASSERT(err == 0);
NextSubTest();
err = mem.Seek(-5, SEEK_END);
CPPUNIT_ASSERT(err == -5);
NextSubTest();
err = mem.Seek(5, SEEK_END);
CPPUNIT_ASSERT(err == 5);
NextSubTest();
err = mem.Seek(-20, SEEK_SET);
CPPUNIT_ASSERT((int)err == -20);
}
CppUnit::Test *MallocSeekTest::suite(void)
{
typedef CppUnit::TestCaller<MallocSeekTest>
MallocSeekTestCaller;
return(new MallocSeekTestCaller("BMallocIO::Seek Test", &MallocSeekTest::PerformTest));
}
@@ -0,0 +1,22 @@
#ifndef MallocSeekTest_H
#define MallocSeekTest_H
#include "TestCase.h"
#include <DataIO.h>
class MallocSeekTest : public BTestCase
{
private:
protected:
public:
static Test *suite(void);
void PerformTest(void);
MallocSeekTest(std::string name = "");
virtual ~MallocSeekTest();
};
#endif
@@ -0,0 +1,48 @@
#include "MallocWriteTest.h"
#include "cppunit/TestCaller.h"
#include <DataIO.h>
#include <stdio.h>
#include <string.h>
MallocWriteTest::MallocWriteTest(std::string name) :
BTestCase(name)
{
}
MallocWriteTest::~MallocWriteTest()
{
}
void
MallocWriteTest::PerformTest(void)
{
const char *writeBuf = "ABCDEFG";
BMallocIO mem;
ssize_t err;
off_t pos;
NextSubTest();
err = mem.Write(writeBuf, 7);
CPPUNIT_ASSERT(err == 7); // Check how much data we wrote
NextSubTest();
err = mem.WriteAt(0, writeBuf, 4);
CPPUNIT_ASSERT(err == 4);
NextSubTest();
err = mem.WriteAt(34, writeBuf, 256);
CPPUNIT_ASSERT(err == 256);
}
CppUnit::Test *MallocWriteTest::suite(void)
{
typedef CppUnit::TestCaller<MallocWriteTest>
MallocWriteTestCaller;
return(new MallocWriteTestCaller("BMallocIO::Write Test", &MallocWriteTest::PerformTest));
}
@@ -0,0 +1,22 @@
#ifndef MallocWriteTest_H
#define MallocWriteTest_H
#include "TestCase.h"
#include <DataIO.h>
class MallocWriteTest : public BTestCase
{
private:
protected:
public:
static Test *suite(void);
void PerformTest(void);
MallocWriteTest(std::string name = "");
virtual ~MallocWriteTest();
};
#endif