ELFReaderTest.h revision f33f6de54db174aa679a4b6d1e040d37e95541c0
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
21namespace mcld {
22  template<> class ELFReader<64, true>;
23} // namespace for mcld
24
25namespace mcldtest
26{
27
28class ELFReaderTest : public ::testing::Test
29{
30public:
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
43protected:
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