Fix PluginsTests failure on Windows buildbots by enabling it everywhere

lit is picking up a stale executable in the unittests tree, which is
failing on Windows.

To simplify the CMake and avoid problems like this in the future, now we
always compile the test, but the test exits successfully when plugins
are not enabled.

llvm-svn: 330867
This commit is contained in:
Reid Kleckner 2018-04-25 20:16:24 +00:00
parent dce46fa1cf
commit e765d633c4
2 changed files with 31 additions and 22 deletions

View File

@ -1,26 +1,30 @@
set(LLVM_LINK_COMPONENTS Support Passes Core)
# If plugins are disabled, this test will disable itself at runtime. Otherwise,
# reconfiguring with plugins disabled will leave behind a stale executable.
if (LLVM_ENABLE_PLUGINS)
add_llvm_unittest(PluginsTests PluginsTest.cpp)
export_executable_symbols(PluginsTests)
add_library(TestPlugin MODULE TestPlugin.cxx)
set_output_directory(TestPlugin
BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}
LIBRARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}
)
set_target_properties(TestPlugin
PROPERTIES PREFIX ""
SUFFIX ".so"
)
if (WIN32 OR CYGWIN OR LLVM_EXPORT_SYMBOLS_FOR_PLUGINS)
llvm_map_components_to_libnames(LLVM_DEPS ${LLVM_LINK_COMPONENTS})
target_link_libraries(TestPlugin ${LLVM_DEPS})
endif()
add_dependencies(TestPlugin intrinsics_gen)
add_dependencies(PluginsTests TestPlugin)
add_definitions(-DLLVM_ENABLE_PLUGINS)
endif()
add_llvm_unittest(PluginsTests PluginsTest.cpp)
export_executable_symbols(PluginsTests)
add_library(TestPlugin MODULE TestPlugin.cxx)
set_output_directory(TestPlugin
BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}
LIBRARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}
)
set_target_properties(TestPlugin
PROPERTIES PREFIX ""
SUFFIX ".so"
)
if (WIN32 OR CYGWIN OR LLVM_EXPORT_SYMBOLS_FOR_PLUGINS)
llvm_map_components_to_libnames(LLVM_DEPS ${LLVM_LINK_COMPONENTS})
target_link_libraries(TestPlugin ${LLVM_DEPS})
endif()
add_dependencies(TestPlugin intrinsics_gen)
add_dependencies(PluginsTests TestPlugin)

View File

@ -37,6 +37,11 @@ static std::string LibPath(const std::string Name = "TestPlugin") {
}
TEST(PluginsTests, LoadPlugin) {
#if !defined(LLVM_ENABLE_PLUGINS)
// Disable the test if plugins are disabled.
return;
#endif
auto PluginPath = LibPath();
ASSERT_NE("", PluginPath);