1 //===- ELFBinaryReaderTest.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 "mcld/LD/ELFBinaryReader.h" 10 #include "mcld/Module.h" 11 #include "mcld/LinkerScript.h" 12 #include "mcld/LinkerConfig.h" 13 #include "mcld/IRBuilder.h" 14 #include "mcld/GeneralOptions.h" 15 #include "mcld/MC/Input.h" 16 17 #include "ELFBinaryReaderTest.h" 18 19 using namespace mcld; 20 using namespace mcld::test; 21 22 // Constructor can do set-up work for all test here. ELFBinaryReaderTest()23ELFBinaryReaderTest::ELFBinaryReaderTest() { 24 } 25 26 // Destructor can do clean-up work that doesn't throw exceptions here. ~ELFBinaryReaderTest()27ELFBinaryReaderTest::~ELFBinaryReaderTest() { 28 } 29 30 // SetUp() will be called immediately before each test. SetUp()31void ELFBinaryReaderTest::SetUp() { 32 } 33 34 // TearDown() will be called immediately after each test. TearDown()35void ELFBinaryReaderTest::TearDown() { 36 } 37 38 //===----------------------------------------------------------------------===// 39 // Testcases 40 //===----------------------------------------------------------------------===// TEST_F(ELFBinaryReaderTest,is_myformat)41TEST_F(ELFBinaryReaderTest, is_myformat) { 42 LinkerScript script; 43 Module module("test", script); 44 LinkerConfig config; 45 IRBuilder builder(module, config); 46 ELFBinaryReader* reader = new ELFBinaryReader(builder, config); 47 48 Input input("test.bin"); 49 50 bool doContinue = false; 51 config.options().setBinaryInput(); 52 ASSERT_TRUE(reader->isMyFormat(input, doContinue)); 53 54 config.options().setBinaryInput(false); 55 ASSERT_FALSE(reader->isMyFormat(input, doContinue)); 56 57 delete reader; 58 } 59