• Home
  • History
  • Annotate
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1  //===- ELFReaderTest.h ----------------------------------------------------===//
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  #ifndef MCLD_ELFREADER_TEST_H
10  #define MCLD_ELFREADER_TEST_H
11  
12  #include <gtest.h>
13  #include "mcld/LinkerConfig.h"
14  #include "mcld/LinkerScript.h"
15  #include "mcld/LD/ELFReaderIf.h"
16  #include "mcld/LD/ELFReader.h"
17  #include "mcld/LD/ELFObjectReader.h"
18  #include "mcld/Target/GNULDBackend.h"
19  #include "mcld/MC/InputBuilder.h"
20  
21  namespace mcld {
22  template <>
23  class ELFReader<64, true>;
24  }  // namespace for mcld
25  
26  namespace mcldtest {
27  
28  class ELFReaderTest : public ::testing::Test {
29   public:
30    // Constructor can do set-up work for all test here.
31    ELFReaderTest();
32  
33    // Destructor can do clean-up work that doesn't throw exceptions here.
34    virtual ~ELFReaderTest();
35  
36    // SetUp() will be called immediately before each test.
37    virtual void SetUp();
38  
39    // TearDown() will be called immediately after each test.
40    virtual void TearDown();
41  
42   protected:
43    mcld::Input* m_pInput;
44    mcld::LinkerConfig* m_pConfig;
45    mcld::LinkerScript* m_pScript;
46    mcld::GNUInfo* m_pInfo;
47    mcld::GNULDBackend* m_pLDBackend;
48    mcld::ELFReaderIF* m_pELFReader;
49    mcld::Module* m_pModule;
50    mcld::IRBuilder* m_pIRBuilder;
51    mcld::ELFObjectReader* m_pELFObjReader;
52  };
53  
54  }  // namespace of mcldtest
55  
56  #endif
57