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 {
22template <>
23class ELFReader<64, true>;
24}  // namespace for mcld
25
26namespace mcldtest {
27
28class 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