blob: a495766db91a07f2c2043789c4b3ff43e235aceb [file] [log] [blame]
David Blaikiee960a4e2015-02-23 00:36:25 +00001//===- LazyEmittingLayerTest.cpp - Unit tests for the lazy emitting layer -===//
2//
3// The LLVM Compiler Infrastructure
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
9
10#include "llvm/ExecutionEngine/Orc/LazyEmittingLayer.h"
11#include "gtest/gtest.h"
12
13namespace {
14
15struct MockBaseLayer {
16 typedef int ModuleSetHandleT;
Lang Hames633fe142015-03-30 03:37:06 +000017 ModuleSetHandleT addModuleSet(
18 std::list<std::unique_ptr<llvm::Module>>,
19 std::unique_ptr<llvm::RuntimeDyld::MemoryManager> MemMgr,
20 std::unique_ptr<llvm::RuntimeDyld::SymbolResolver> Resolver) {
21 EXPECT_FALSE(MemMgr);
David Blaikiee960a4e2015-02-23 00:36:25 +000022 return 42;
23 }
24};
25
26TEST(LazyEmittingLayerTest, Empty) {
27 MockBaseLayer M;
28 llvm::orc::LazyEmittingLayer<MockBaseLayer> L(M);
Lang Hames633fe142015-03-30 03:37:06 +000029 L.addModuleSet(std::list<std::unique_ptr<llvm::Module>>(), nullptr, nullptr);
David Blaikiee960a4e2015-02-23 00:36:25 +000030}
31
32}