• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 
23 // Constructor can do set-up work for all test here.
ELFBinaryReaderTest()24 ELFBinaryReaderTest::ELFBinaryReaderTest()
25 {
26 }
27 
28 // Destructor can do clean-up work that doesn't throw exceptions here.
~ELFBinaryReaderTest()29 ELFBinaryReaderTest::~ELFBinaryReaderTest()
30 {
31 }
32 
33 // SetUp() will be called immediately before each test.
SetUp()34 void ELFBinaryReaderTest::SetUp()
35 {
36 }
37 
38 // TearDown() will be called immediately after each test.
TearDown()39 void ELFBinaryReaderTest::TearDown()
40 {
41 }
42 
43 //===----------------------------------------------------------------------===//
44 // Testcases
45 //===----------------------------------------------------------------------===//
TEST_F(ELFBinaryReaderTest,is_myformat)46 TEST_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