16f75755c9204b1d8817ae5a65a2f7e5af0ec3f70Stephen Hines//===- ELFReaderTest.h ----------------------------------------------------===// 26f75755c9204b1d8817ae5a65a2f7e5af0ec3f70Stephen Hines// 36f75755c9204b1d8817ae5a65a2f7e5af0ec3f70Stephen Hines// The MCLinker Project 46f75755c9204b1d8817ae5a65a2f7e5af0ec3f70Stephen Hines// 56f75755c9204b1d8817ae5a65a2f7e5af0ec3f70Stephen Hines// This file is distributed under the University of Illinois Open Source 66f75755c9204b1d8817ae5a65a2f7e5af0ec3f70Stephen Hines// License. See LICENSE.TXT for details. 76f75755c9204b1d8817ae5a65a2f7e5af0ec3f70Stephen Hines// 86f75755c9204b1d8817ae5a65a2f7e5af0ec3f70Stephen Hines//===----------------------------------------------------------------------===// 96f75755c9204b1d8817ae5a65a2f7e5af0ec3f70Stephen Hines#ifndef MCLD_ELFREADER_TEST_H 106f75755c9204b1d8817ae5a65a2f7e5af0ec3f70Stephen Hines#define MCLD_ELFREADER_TEST_H 116f75755c9204b1d8817ae5a65a2f7e5af0ec3f70Stephen Hines 126f75755c9204b1d8817ae5a65a2f7e5af0ec3f70Stephen Hines#include <gtest.h> 1337b74a387bb3993387029859c2d9d051c41c724eStephen Hines#include "mcld/LinkerConfig.h" 1437b74a387bb3993387029859c2d9d051c41c724eStephen Hines#include "mcld/LinkerScript.h" 1537b74a387bb3993387029859c2d9d051c41c724eStephen Hines#include "mcld/LD/ELFReaderIf.h" 1637b74a387bb3993387029859c2d9d051c41c724eStephen Hines#include "mcld/LD/ELFReader.h" 1737b74a387bb3993387029859c2d9d051c41c724eStephen Hines#include "mcld/LD/ELFObjectReader.h" 1837b74a387bb3993387029859c2d9d051c41c724eStephen Hines#include "mcld/Target/GNULDBackend.h" 1937b74a387bb3993387029859c2d9d051c41c724eStephen Hines#include "mcld/MC/InputBuilder.h" 206f75755c9204b1d8817ae5a65a2f7e5af0ec3f70Stephen Hines 216f75755c9204b1d8817ae5a65a2f7e5af0ec3f70Stephen Hinesnamespace mcld { 2237b74a387bb3993387029859c2d9d051c41c724eStephen Hinestemplate <> 2337b74a387bb3993387029859c2d9d051c41c724eStephen Hinesclass ELFReader<64, true>; 2437b74a387bb3993387029859c2d9d051c41c724eStephen Hines} // namespace for mcld 256f75755c9204b1d8817ae5a65a2f7e5af0ec3f70Stephen Hines 2637b74a387bb3993387029859c2d9d051c41c724eStephen Hinesnamespace mcldtest { 276f75755c9204b1d8817ae5a65a2f7e5af0ec3f70Stephen Hines 2837b74a387bb3993387029859c2d9d051c41c724eStephen Hinesclass ELFReaderTest : public ::testing::Test { 2937b74a387bb3993387029859c2d9d051c41c724eStephen Hines public: 306f75755c9204b1d8817ae5a65a2f7e5af0ec3f70Stephen Hines // Constructor can do set-up work for all test here. 316f75755c9204b1d8817ae5a65a2f7e5af0ec3f70Stephen Hines ELFReaderTest(); 326f75755c9204b1d8817ae5a65a2f7e5af0ec3f70Stephen Hines 336f75755c9204b1d8817ae5a65a2f7e5af0ec3f70Stephen Hines // Destructor can do clean-up work that doesn't throw exceptions here. 346f75755c9204b1d8817ae5a65a2f7e5af0ec3f70Stephen Hines virtual ~ELFReaderTest(); 356f75755c9204b1d8817ae5a65a2f7e5af0ec3f70Stephen Hines 366f75755c9204b1d8817ae5a65a2f7e5af0ec3f70Stephen Hines // SetUp() will be called immediately before each test. 376f75755c9204b1d8817ae5a65a2f7e5af0ec3f70Stephen Hines virtual void SetUp(); 386f75755c9204b1d8817ae5a65a2f7e5af0ec3f70Stephen Hines 396f75755c9204b1d8817ae5a65a2f7e5af0ec3f70Stephen Hines // TearDown() will be called immediately after each test. 406f75755c9204b1d8817ae5a65a2f7e5af0ec3f70Stephen Hines virtual void TearDown(); 416f75755c9204b1d8817ae5a65a2f7e5af0ec3f70Stephen Hines 4237b74a387bb3993387029859c2d9d051c41c724eStephen Hines protected: 43f7ac0f19a1c8d0ad14bcf6456ce368b830fea886Stephen Hines mcld::Input* m_pInput; 44f7ac0f19a1c8d0ad14bcf6456ce368b830fea886Stephen Hines mcld::LinkerConfig* m_pConfig; 45f7ac0f19a1c8d0ad14bcf6456ce368b830fea886Stephen Hines mcld::LinkerScript* m_pScript; 46f7ac0f19a1c8d0ad14bcf6456ce368b830fea886Stephen Hines mcld::GNUInfo* m_pInfo; 47f7ac0f19a1c8d0ad14bcf6456ce368b830fea886Stephen Hines mcld::GNULDBackend* m_pLDBackend; 48f7ac0f19a1c8d0ad14bcf6456ce368b830fea886Stephen Hines mcld::ELFReaderIF* m_pELFReader; 49f7ac0f19a1c8d0ad14bcf6456ce368b830fea886Stephen Hines mcld::Module* m_pModule; 50f7ac0f19a1c8d0ad14bcf6456ce368b830fea886Stephen Hines mcld::IRBuilder* m_pIRBuilder; 51f7ac0f19a1c8d0ad14bcf6456ce368b830fea886Stephen Hines mcld::ELFObjectReader* m_pELFObjReader; 526f75755c9204b1d8817ae5a65a2f7e5af0ec3f70Stephen Hines}; 536f75755c9204b1d8817ae5a65a2f7e5af0ec3f70Stephen Hines 5437b74a387bb3993387029859c2d9d051c41c724eStephen Hines} // namespace of mcldtest 556f75755c9204b1d8817ae5a65a2f7e5af0ec3f70Stephen Hines 566f75755c9204b1d8817ae5a65a2f7e5af0ec3f70Stephen Hines#endif 57