diff options
Diffstat (limited to 'unittests/ExecutionEngine/Orc/GlobalMappingLayerTest.cpp')
| -rw-r--r-- | unittests/ExecutionEngine/Orc/GlobalMappingLayerTest.cpp | 28 |
1 files changed, 17 insertions, 11 deletions
diff --git a/unittests/ExecutionEngine/Orc/GlobalMappingLayerTest.cpp b/unittests/ExecutionEngine/Orc/GlobalMappingLayerTest.cpp index 2756999c2160..d093b2a99bd7 100644 --- a/unittests/ExecutionEngine/Orc/GlobalMappingLayerTest.cpp +++ b/unittests/ExecutionEngine/Orc/GlobalMappingLayerTest.cpp @@ -8,6 +8,7 @@ //===----------------------------------------------------------------------===// #include "llvm/ExecutionEngine/Orc/GlobalMappingLayer.h" +#include "OrcTestCommon.h" #include "gtest/gtest.h" using namespace llvm; @@ -15,21 +16,26 @@ using namespace llvm::orc; namespace { -struct MockBaseLayer { +TEST(GlobalMappingLayerTest, Empty) { + MockBaseLayer<int, std::shared_ptr<Module>> TestBaseLayer; - typedef int ModuleHandleT; + TestBaseLayer.addModuleImpl = + [](std::shared_ptr<Module> M, std::shared_ptr<JITSymbolResolver> R) { + return 42; + }; - JITSymbol findSymbol(const std::string &Name, bool ExportedSymbolsOnly) { - if (Name == "bar") - return llvm::JITSymbol(0x4567, JITSymbolFlags::Exported); - return nullptr; - } + TestBaseLayer.findSymbolImpl = + [](const std::string &Name, bool ExportedSymbolsOnly) -> JITSymbol { + if (Name == "bar") + return llvm::JITSymbol(0x4567, JITSymbolFlags::Exported); + return nullptr; + }; -}; + GlobalMappingLayer<decltype(TestBaseLayer)> L(TestBaseLayer); -TEST(GlobalMappingLayerTest, Empty) { - MockBaseLayer M; - GlobalMappingLayer<MockBaseLayer> L(M); + // Test addModule interface. + int H = cantFail(L.addModule(nullptr, nullptr)); + EXPECT_EQ(H, 42) << "Incorrect result from addModule"; // Test fall-through for missing symbol. auto FooSym = L.findSymbol("foo", true); |
