1//===- RTLinearAllocatorTest.h --------------------------------------------===// 2// 3// The MCLinker Project 4// 5// This file is distributed under the University of Illinois Open Source 6// License. See LICENSE.TXT for details. 7// 8//===----------------------------------------------------------------------===// 9#ifndef RTLINEARALLOCATOR_TEST_H 10#define RTLINEARALLOCATOR_TEST_H 11 12#include <gtest.h> 13#include "mcld/Support/Allocators.h" 14 15namespace mcldtest { 16 17/** \class RTLinearAllocatorTest 18 * \brief 19 * 20 * \see RTLinearAllocator 21 */ 22class RTLinearAllocatorTest : public ::testing::Test { 23 public: 24 // Constructor can do set-up work for all test here. 25 RTLinearAllocatorTest(); 26 27 // Destructor can do clean-up work that doesn't throw exceptions here. 28 virtual ~RTLinearAllocatorTest(); 29 30 // SetUp() will be called immediately before each test. 31 virtual void SetUp(); 32 33 // TearDown() will be called immediately after each test. 34 virtual void TearDown(); 35 36 public: 37 struct Data { 38 Data() : one(1), two(2), three(3), four(4) {} 39 40 Data(unsigned int pOne, 41 unsigned int pTwo, 42 unsigned char pThree, 43 unsigned char pFour) { 44 one = pOne; 45 two = pTwo; 46 three = pThree; 47 four = pFour; 48 } 49 50 ~Data() { 51 one = -1; 52 two = -2; 53 three = -3; 54 four = -4; 55 } 56 57 unsigned int one; 58 unsigned int two; 59 unsigned char three; 60 unsigned char four; 61 }; 62 enum { CHUNK_SIZE = 32 }; 63 64 protected: 65 mcld::LinearAllocator<Data, 0>* m_pTestee; 66}; 67 68} // namespace of mcldtest 69 70#endif 71