1 //===- FragmentTest.cpp ---------------------------------------------------===// 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 #include "FragmentTest.h" 10 11 #include "mcld/Fragment/Fragment.h" 12 #include "mcld/LD/SectionData.h" 13 #include "mcld/LD/LDSection.h" 14 15 using namespace mcld; 16 using namespace mcldtest; 17 18 // Constructor can do set-up work for all test here. 19 FragmentTest::FragmentTest() { 20 } 21 22 // Destructor can do clean-up work that doesn't throw exceptions here. 23 FragmentTest::~FragmentTest() { 24 } 25 26 // SetUp() will be called immediately before each test. 27 void FragmentTest::SetUp() { 28 } 29 30 // TearDown() will be called immediately after each test. 31 void FragmentTest::TearDown() { 32 } 33 34 //===----------------------------------------------------------------------===// 35 // Testcases 36 37 TEST_F(FragmentTest, Fragment_constructor) { 38 LDSection* test = LDSection::Create("test", LDFileFormat::Null, 0, 0); 39 SectionData* s = SectionData::Create(*test); 40 new Fragment(Fragment::Alignment, s); 41 EXPECT_TRUE(1 == s->size()); 42 new Fragment(Fragment::Alignment, s); 43 new Fragment(Fragment::Region, s); 44 new Fragment(Fragment::Fillment, s); 45 new Fragment(Fragment::Target, s); 46 EXPECT_TRUE(5 == s->size()); 47 48 LDSection::Destroy(test); 49 // SectionData::Destroy(s); 50 } 51 52 TEST_F(FragmentTest, Fragment_trivial_function) { 53 LDSection* test = LDSection::Create("test", LDFileFormat::Null, 0, 0); 54 SectionData* s = SectionData::Create(*test); 55 Fragment* f = new Fragment(Fragment::Alignment, s); 56 57 EXPECT_TRUE(Fragment::Alignment == f->getKind()); 58 59 f->setOffset(5566); 60 EXPECT_TRUE(5566 == f->getOffset()); 61 62 // always return true 63 EXPECT_TRUE(f->classof(new Fragment(Fragment::Region, s))); 64 65 LDSection::Destroy(test); 66 // SectionData::Destroy(s); 67 } 68