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