| //===- ELFBinaryReaderTest.cpp --------------------------------------------===// |
| // |
| // The MCLinker Project |
| // |
| // This file is distributed under the University of Illinois Open Source |
| // License. See LICENSE.TXT for details. |
| // |
| //===----------------------------------------------------------------------===// |
| #include "mcld/LD/ELFBinaryReader.h" |
| #include "mcld/Module.h" |
| #include "mcld/LinkerScript.h" |
| #include "mcld/LinkerConfig.h" |
| #include "mcld/IRBuilder.h" |
| #include "mcld/GeneralOptions.h" |
| #include "mcld/MC/Input.h" |
| |
| #include "ELFBinaryReaderTest.h" |
| |
| using namespace mcld; |
| using namespace mcld::test; |
| |
| // Constructor can do set-up work for all test here. |
| ELFBinaryReaderTest::ELFBinaryReaderTest() { |
| } |
| |
| // Destructor can do clean-up work that doesn't throw exceptions here. |
| ELFBinaryReaderTest::~ELFBinaryReaderTest() { |
| } |
| |
| // SetUp() will be called immediately before each test. |
| void ELFBinaryReaderTest::SetUp() { |
| } |
| |
| // TearDown() will be called immediately after each test. |
| void ELFBinaryReaderTest::TearDown() { |
| } |
| |
| //===----------------------------------------------------------------------===// |
| // Testcases |
| //===----------------------------------------------------------------------===// |
| TEST_F(ELFBinaryReaderTest, is_myformat) { |
| LinkerScript script; |
| Module module("test", script); |
| LinkerConfig config; |
| IRBuilder builder(module, config); |
| ELFBinaryReader* reader = new ELFBinaryReader(builder, config); |
| |
| Input input("test.bin"); |
| |
| bool doContinue = false; |
| config.options().setBinaryInput(); |
| ASSERT_TRUE(reader->isMyFormat(input, doContinue)); |
| |
| config.options().setBinaryInput(false); |
| ASSERT_FALSE(reader->isMyFormat(input, doContinue)); |
| |
| delete reader; |
| } |