• Home
  • 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<> class ELFReader<64, true>;
23  } // namespace for mcld
24  
25  namespace mcldtest
26  {
27  
28  class ELFReaderTest : public ::testing::Test
29  {
30  public:
31    // Constructor can do set-up work for all test here.
32    ELFReaderTest();
33  
34    // Destructor can do clean-up work that doesn't throw exceptions here.
35    virtual ~ELFReaderTest();
36  
37    // SetUp() will be called immediately before each test.
38    virtual void SetUp();
39  
40    // TearDown() will be called immediately after each test.
41    virtual void TearDown();
42  
43  protected:
44    mcld::Input* m_pInput;
45    mcld::LinkerConfig* m_pConfig;
46    mcld::LinkerScript* m_pScript;
47    mcld::GNUInfo* m_pInfo;
48    mcld::GNULDBackend* m_pLDBackend;
49    mcld::ELFReaderIF* m_pELFReader;
50    mcld::Module* m_pModule;
51    mcld::IRBuilder* m_pIRBuilder;
52    mcld::ELFObjectReader* m_pELFObjReader;
53  };
54  
55  } // namespace of mcldtest
56  
57  #endif
58  
59