From 210f8dd7ccaf24843d7267a103623d8e14d1eef9 Mon Sep 17 00:00:00 2001 From: Stefano Ceccherini Date: Fri, 27 Sep 2002 16:30:22 +0000 Subject: [PATCH] BMallocIO Tests git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1212 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- .../bmemoryio/MallocBufferLengthTest.cpp | 51 +++++++++++++++++ .../bmemoryio/MallocBufferLengthTest.h | 22 ++++++++ .../kits/support/bmemoryio/MallocIOTest.cpp | 24 ++++++++ .../kits/support/bmemoryio/MallocIOTest.h | 14 +++++ .../kits/support/bmemoryio/MallocSeekTest.cpp | 56 +++++++++++++++++++ .../kits/support/bmemoryio/MallocSeekTest.h | 22 ++++++++ .../support/bmemoryio/MallocWriteTest.cpp | 48 ++++++++++++++++ .../kits/support/bmemoryio/MallocWriteTest.h | 22 ++++++++ 8 files changed, 259 insertions(+) create mode 100644 src/tests/kits/support/bmemoryio/MallocBufferLengthTest.cpp create mode 100644 src/tests/kits/support/bmemoryio/MallocBufferLengthTest.h create mode 100644 src/tests/kits/support/bmemoryio/MallocIOTest.cpp create mode 100644 src/tests/kits/support/bmemoryio/MallocIOTest.h create mode 100644 src/tests/kits/support/bmemoryio/MallocSeekTest.cpp create mode 100644 src/tests/kits/support/bmemoryio/MallocSeekTest.h create mode 100644 src/tests/kits/support/bmemoryio/MallocWriteTest.cpp create mode 100644 src/tests/kits/support/bmemoryio/MallocWriteTest.h diff --git a/src/tests/kits/support/bmemoryio/MallocBufferLengthTest.cpp b/src/tests/kits/support/bmemoryio/MallocBufferLengthTest.cpp new file mode 100644 index 0000000000..1923e0c259 --- /dev/null +++ b/src/tests/kits/support/bmemoryio/MallocBufferLengthTest.cpp @@ -0,0 +1,51 @@ +#include "MallocBufferLengthTest.h" +#include "cppunit/TestCaller.h" +#include +#include + +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 + MallocBufferLengthTestCaller; + + return(new MallocBufferLengthTestCaller("BMallocIO::BufferLength Test", &MallocBufferLengthTest::PerformTest)); +} \ No newline at end of file diff --git a/src/tests/kits/support/bmemoryio/MallocBufferLengthTest.h b/src/tests/kits/support/bmemoryio/MallocBufferLengthTest.h new file mode 100644 index 0000000000..5937d78de3 --- /dev/null +++ b/src/tests/kits/support/bmemoryio/MallocBufferLengthTest.h @@ -0,0 +1,22 @@ +#ifndef MallocBufferLengthTest_H +#define MallocBufferLengthTest_H + +#include "TestCase.h" +#include + + +class MallocBufferLengthTest : public BTestCase +{ + +private: + +protected: + +public: + static Test *suite(void); + void PerformTest(void); + MallocBufferLengthTest(std::string name = ""); + virtual ~MallocBufferLengthTest(); + }; + +#endif \ No newline at end of file diff --git a/src/tests/kits/support/bmemoryio/MallocIOTest.cpp b/src/tests/kits/support/bmemoryio/MallocIOTest.cpp new file mode 100644 index 0000000000..60e06345e3 --- /dev/null +++ b/src/tests/kits/support/bmemoryio/MallocIOTest.cpp @@ -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); +} + + + + + + + diff --git a/src/tests/kits/support/bmemoryio/MallocIOTest.h b/src/tests/kits/support/bmemoryio/MallocIOTest.h new file mode 100644 index 0000000000..00a716378c --- /dev/null +++ b/src/tests/kits/support/bmemoryio/MallocIOTest.h @@ -0,0 +1,14 @@ +#ifndef _mallocio_test_h_ +#define _mallocio_test_h_ + +class CppUnit::Test; + +CppUnit::Test *MallocIOTestSuite(); + +#endif // _mallocio_test_h_ + + + + + + diff --git a/src/tests/kits/support/bmemoryio/MallocSeekTest.cpp b/src/tests/kits/support/bmemoryio/MallocSeekTest.cpp new file mode 100644 index 0000000000..26268d04ad --- /dev/null +++ b/src/tests/kits/support/bmemoryio/MallocSeekTest.cpp @@ -0,0 +1,56 @@ +#include "MallocSeekTest.h" +#include "cppunit/TestCaller.h" +#include +#include + +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 + MallocSeekTestCaller; + + return(new MallocSeekTestCaller("BMallocIO::Seek Test", &MallocSeekTest::PerformTest)); +} \ No newline at end of file diff --git a/src/tests/kits/support/bmemoryio/MallocSeekTest.h b/src/tests/kits/support/bmemoryio/MallocSeekTest.h new file mode 100644 index 0000000000..518834b0e9 --- /dev/null +++ b/src/tests/kits/support/bmemoryio/MallocSeekTest.h @@ -0,0 +1,22 @@ +#ifndef MallocSeekTest_H +#define MallocSeekTest_H + +#include "TestCase.h" +#include + + +class MallocSeekTest : public BTestCase +{ + +private: + +protected: + +public: + static Test *suite(void); + void PerformTest(void); + MallocSeekTest(std::string name = ""); + virtual ~MallocSeekTest(); + }; + +#endif \ No newline at end of file diff --git a/src/tests/kits/support/bmemoryio/MallocWriteTest.cpp b/src/tests/kits/support/bmemoryio/MallocWriteTest.cpp new file mode 100644 index 0000000000..7a333ce376 --- /dev/null +++ b/src/tests/kits/support/bmemoryio/MallocWriteTest.cpp @@ -0,0 +1,48 @@ +#include "MallocWriteTest.h" +#include "cppunit/TestCaller.h" +#include +#include +#include + +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 + MallocWriteTestCaller; + + return(new MallocWriteTestCaller("BMallocIO::Write Test", &MallocWriteTest::PerformTest)); +} \ No newline at end of file diff --git a/src/tests/kits/support/bmemoryio/MallocWriteTest.h b/src/tests/kits/support/bmemoryio/MallocWriteTest.h new file mode 100644 index 0000000000..de6b964a2e --- /dev/null +++ b/src/tests/kits/support/bmemoryio/MallocWriteTest.h @@ -0,0 +1,22 @@ +#ifndef MallocWriteTest_H +#define MallocWriteTest_H + +#include "TestCase.h" +#include + + +class MallocWriteTest : public BTestCase +{ + +private: + +protected: + +public: + static Test *suite(void); + void PerformTest(void); + MallocWriteTest(std::string name = ""); + virtual ~MallocWriteTest(); + }; + +#endif \ No newline at end of file