//===- RTLinearAllocatorTest.h --------------------------------------------===// // // The MCLinker Project // // This file is distributed under the University of Illinois Open Source // License. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// #ifndef RTLINEARALLOCATOR_TEST_H #define RTLINEARALLOCATOR_TEST_H #include <gtest.h> #include "mcld/Support/Allocators.h" namespace mcldtest { /** \class RTLinearAllocatorTest * \brief * * \see RTLinearAllocator */ class RTLinearAllocatorTest : public ::testing::Test { public: // Constructor can do set-up work for all test here. RTLinearAllocatorTest(); // Destructor can do clean-up work that doesn't throw exceptions here. virtual ~RTLinearAllocatorTest(); // SetUp() will be called immediately before each test. virtual void SetUp(); // TearDown() will be called immediately after each test. virtual void TearDown(); public: struct Data { Data() : one(1), two(2), three(3), four(4) {} Data(unsigned int pOne, unsigned int pTwo, unsigned char pThree, unsigned char pFour) { one = pOne; two = pTwo; three = pThree; four = pFour; } ~Data() { one = -1; two = -2; three = -3; four = -4; } unsigned int one; unsigned int two; unsigned char three; unsigned char four; }; enum { CHUNK_SIZE = 32 }; protected: mcld::LinearAllocator<Data, 0>* m_pTestee; }; } // namespace of mcldtest #endif