• 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   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