[Analysis] Only run plugins tests if plugins are actually enabled
When plugins aren't enabled, don't try to run plugins tests. Don't enable plugins unconditionally based on the platform, instead check if LLVM shared library is actually being built which may not be the case for every host configuration, even if the host itself supports plugins. This addresses test failures introduced by r360891/D59464. Differential Revision: https://reviews.llvm.org/D62050 llvm-svn: 360991
This commit is contained in:
parent
ad7199f3e6
commit
b7804ef3a7
|
@ -1,9 +1,9 @@
|
||||||
|
// REQUIRES: plugins
|
||||||
|
|
||||||
// RUN: %clang_analyze_cc1 -verify %s \
|
// RUN: %clang_analyze_cc1 -verify %s \
|
||||||
// RUN: -load %llvmshlibdir/SampleAnalyzerPlugin%pluginext \
|
// RUN: -load %llvmshlibdir/SampleAnalyzerPlugin%pluginext \
|
||||||
// RUN: -analyzer-checker='example.MainCallChecker'
|
// RUN: -analyzer-checker='example.MainCallChecker'
|
||||||
|
|
||||||
// REQUIRES: plugins
|
|
||||||
|
|
||||||
// Test that the MainCallChecker example analyzer plugin loads and runs.
|
// Test that the MainCallChecker example analyzer plugin loads and runs.
|
||||||
|
|
||||||
int main();
|
int main();
|
||||||
|
|
|
@ -24,7 +24,8 @@ llvm_canonicalize_cmake_booleans(
|
||||||
CLANG_ENABLE_STATIC_ANALYZER
|
CLANG_ENABLE_STATIC_ANALYZER
|
||||||
ENABLE_BACKTRACES
|
ENABLE_BACKTRACES
|
||||||
HAVE_LIBZ
|
HAVE_LIBZ
|
||||||
LLVM_ENABLE_PER_TARGET_RUNTIME_DIR)
|
LLVM_ENABLE_PER_TARGET_RUNTIME_DIR
|
||||||
|
LLVM_ENABLE_PLUGINS)
|
||||||
|
|
||||||
configure_lit_site_cfg(
|
configure_lit_site_cfg(
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/lit.site.cfg.py.in
|
${CMAKE_CURRENT_SOURCE_DIR}/lit.site.cfg.py.in
|
||||||
|
|
|
@ -85,13 +85,7 @@ config.substitutions.append(
|
||||||
os.path.join(config.clang_tools_dir, 'hmaptool'))))
|
os.path.join(config.clang_tools_dir, 'hmaptool'))))
|
||||||
|
|
||||||
# Plugins (loadable modules)
|
# Plugins (loadable modules)
|
||||||
# TODO: This should be supplied by Makefile or autoconf.
|
if config.has_plugins and config.llvm_plugin_ext:
|
||||||
if sys.platform in ['win32', 'cygwin']:
|
|
||||||
has_plugins = config.enable_shared
|
|
||||||
else:
|
|
||||||
has_plugins = True
|
|
||||||
|
|
||||||
if has_plugins and config.llvm_plugin_ext:
|
|
||||||
config.available_features.add('plugins')
|
config.available_features.add('plugins')
|
||||||
|
|
||||||
# Set available features we allow tests to conditionalize on.
|
# Set available features we allow tests to conditionalize on.
|
||||||
|
|
|
@ -27,6 +27,7 @@ config.enable_backtrace = @ENABLE_BACKTRACES@
|
||||||
config.host_arch = "@HOST_ARCH@"
|
config.host_arch = "@HOST_ARCH@"
|
||||||
config.python_executable = "@PYTHON_EXECUTABLE@"
|
config.python_executable = "@PYTHON_EXECUTABLE@"
|
||||||
config.use_z3_solver = lit_config.params.get('USE_Z3_SOLVER', "@USE_Z3_SOLVER@")
|
config.use_z3_solver = lit_config.params.get('USE_Z3_SOLVER', "@USE_Z3_SOLVER@")
|
||||||
|
config.has_plugins = @LLVM_ENABLE_PLUGINS@
|
||||||
|
|
||||||
# Support substitution of the tools and libs dirs with user parameters. This is
|
# Support substitution of the tools and libs dirs with user parameters. This is
|
||||||
# used when we can't determine the tool dir at configuration time.
|
# used when we can't determine the tool dir at configuration time.
|
||||||
|
|
|
@ -920,14 +920,10 @@ endif()
|
||||||
|
|
||||||
# Plugin support
|
# Plugin support
|
||||||
# FIXME: Make this configurable.
|
# FIXME: Make this configurable.
|
||||||
if(WIN32 OR CYGWIN)
|
if(BUILD_SHARED_LIBS OR LLVM_BUILD_LLVM_DYLIB)
|
||||||
if(BUILD_SHARED_LIBS OR LLVM_BUILD_LLVM_DYLIB)
|
|
||||||
set(LLVM_ENABLE_PLUGINS ON)
|
|
||||||
else()
|
|
||||||
set(LLVM_ENABLE_PLUGINS OFF)
|
|
||||||
endif()
|
|
||||||
else()
|
|
||||||
set(LLVM_ENABLE_PLUGINS ON)
|
set(LLVM_ENABLE_PLUGINS ON)
|
||||||
|
else()
|
||||||
|
set(LLVM_ENABLE_PLUGINS OFF)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# By default we should enable LLVM_ENABLE_IDE only for multi-configuration
|
# By default we should enable LLVM_ENABLE_IDE only for multi-configuration
|
||||||
|
|
Loading…
Reference in New Issue