#include "OrcTestCommon.h"
#include "llvm/ADT/ScopeExit.h"
#include "llvm/Config/llvm-config.h"
#include "llvm/ExecutionEngine/Orc/Core.h"
#include "llvm/ExecutionEngine/Orc/Shared/OrcError.h"
#include "llvm/Testing/Support/Error.h"
#include <deque>
#include <set>
#include <thread>
usingnamespacellvm;
usingnamespacellvm::orc;
class CoreAPIsStandardTest : public CoreAPIsBasedStandardTest { … };
namespace {
class CustomError : public ErrorInfo<CustomError> { … };
char CustomError::ID = …;
TEST_F(CoreAPIsStandardTest, ErrorReporter) { … }
TEST_F(CoreAPIsStandardTest, JITDylibAddToLinkOrder) { … }
TEST_F(CoreAPIsStandardTest, BasicSuccessfulLookup) { … }
TEST_F(CoreAPIsStandardTest, EmptyLookup) { … }
TEST_F(CoreAPIsStandardTest, ResolveUnrequestedSymbol) { … }
TEST_F(CoreAPIsStandardTest, MaterializationSideEffctsOnlyBasic) { … }
TEST_F(CoreAPIsStandardTest, MaterializationSideEffectsOnlyFailuresPersist) { … }
TEST_F(CoreAPIsStandardTest, RemoveSymbolsTest) { … }
TEST_F(CoreAPIsStandardTest, DiscardInitSymbol) { … }
TEST_F(CoreAPIsStandardTest, LookupWithHiddenSymbols) { … }
TEST_F(CoreAPIsStandardTest, LookupFlagsTest) { … }
TEST_F(CoreAPIsStandardTest, LookupWithGeneratorFailure) { … }
TEST_F(CoreAPIsStandardTest, TestBasicAliases) { … }
TEST_F(CoreAPIsStandardTest, TestChainedAliases) { … }
TEST_F(CoreAPIsStandardTest, TestBasicReExports) { … }
TEST_F(CoreAPIsStandardTest, TestThatReExportsDontUnnecessarilyMaterialize) { … }
TEST_F(CoreAPIsStandardTest, TestReexportsGenerator) { … }
TEST_F(CoreAPIsStandardTest, TestTrivialCircularDependency) { … }
TEST_F(CoreAPIsStandardTest, TestCircularDependenceInOneJITDylib) { … }
TEST_F(CoreAPIsStandardTest, FailureInDependency) { … }
TEST_F(CoreAPIsStandardTest, AddDependencyOnFailedSymbol) { … }
TEST_F(CoreAPIsStandardTest, FailAfterMaterialization) { … }
TEST_F(CoreAPIsStandardTest, FailMaterializerWithUnqueriedSymbols) { … }
TEST_F(CoreAPIsStandardTest, DropMaterializerWhenEmpty) { … }
TEST_F(CoreAPIsStandardTest, AddAndMaterializeLazySymbol) { … }
TEST_F(CoreAPIsStandardTest, TestBasicWeakSymbolMaterialization) { … }
TEST_F(CoreAPIsStandardTest, RedefineBoundWeakSymbol) { … }
TEST_F(CoreAPIsStandardTest, DefineMaterializingSymbol) { … }
TEST_F(CoreAPIsStandardTest, GeneratorTest) { … }
class SimpleAsyncGenerator : public DefinitionGenerator { … };
TEST_F(CoreAPIsStandardTest, SimpleAsynchronousGeneratorTest) { … }
TEST_F(CoreAPIsStandardTest, ErrorFromSuspendedAsynchronousGeneratorTest) { … }
TEST_F(CoreAPIsStandardTest, ErrorFromAutoSuspendedAsynchronousGeneratorTest) { … }
TEST_F(CoreAPIsStandardTest, BlockedGeneratorAutoSuspensionTest) { … }
TEST_F(CoreAPIsStandardTest, FailResolution) { … }
TEST_F(CoreAPIsStandardTest, FailEmissionAfterResolution) { … }
TEST_F(CoreAPIsStandardTest, FailAfterPartialResolution) { … }
TEST_F(CoreAPIsStandardTest, FailDefineMaterializingDueToDefunctTracker) { … }
TEST_F(CoreAPIsStandardTest, TestLookupWithUnthreadedMaterialization) { … }
TEST_F(CoreAPIsStandardTest, TestLookupWithThreadedMaterialization) { … }
TEST_F(CoreAPIsStandardTest, TestGetRequestedSymbolsAndReplace) { … }
TEST_F(CoreAPIsStandardTest, TestMaterializationResponsibilityDelegation) { … }
TEST_F(CoreAPIsStandardTest, TestMaterializeWeakSymbol) { … }
static bool linkOrdersEqual(const std::vector<JITDylibSP> &LHS,
ArrayRef<JITDylib *> RHS) { … }
TEST(JITDylibTest, GetDFSLinkOrderTree) { … }
TEST(JITDylibTest, GetDFSLinkOrderDiamond) { … }
TEST(JITDylibTest, GetDFSLinkOrderCycle) { … }
TEST_F(CoreAPIsStandardTest, RemoveJITDylibs) { … }
TEST(CoreAPIsExtraTest, SessionTeardownByFailedToMaterialize) { … }
}