summaryrefslogtreecommitdiff
path: root/unittests/ExecutionEngine/Orc/GlobalMappingLayerTest.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'unittests/ExecutionEngine/Orc/GlobalMappingLayerTest.cpp')
-rw-r--r--unittests/ExecutionEngine/Orc/GlobalMappingLayerTest.cpp28
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);