aboutsummaryrefslogtreecommitdiff
path: root/clang/bindings
diff options
context:
space:
mode:
authorArtem Dergachev <artem.dergachev@gmail.com>2018-10-15 17:43:23 +0000
committerArtem Dergachev <artem.dergachev@gmail.com>2018-10-15 17:43:23 +0000
commit38b21d91ffde2bd6f0b260c4f10776062e374a00 (patch)
tree93f72540ba1a67ef2944f24e5dbb452199eb7a62 /clang/bindings
parent9d0df31bed0a03b2e0e36ae25139824430585bf3 (diff)
[python] [tests] Disable python binding tests under LLVM_USE_SANITIZER=Address
They don't work yet. Patch by Dan Liew! rdar://problem/45242886 Differential Revision: https://reviews.llvm.org/D53239 llvm-svn: 344537
Diffstat (limited to 'clang/bindings')
-rw-r--r--clang/bindings/python/tests/CMakeLists.txt17
1 files changed, 16 insertions, 1 deletions
diff --git a/clang/bindings/python/tests/CMakeLists.txt b/clang/bindings/python/tests/CMakeLists.txt
index 1e10f67ad79f..12a385ce5542 100644
--- a/clang/bindings/python/tests/CMakeLists.txt
+++ b/clang/bindings/python/tests/CMakeLists.txt
@@ -7,9 +7,24 @@ add_custom_target(check-clang-python
DEPENDS libclang
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/..)
+# Check if we are building with ASan
+list(FIND LLVM_USE_SANITIZER "Address" LLVM_USE_ASAN_INDEX)
+if (LLVM_USE_ASAN_INDEX EQUAL -1)
+ set(LLVM_USE_ASAN FALSE)
+else()
+ set(LLVM_USE_ASAN TRUE)
+endif()
+
# Tests fail on Windows, and need someone knowledgeable to fix.
# It's not clear whether it's a test or a valid binding problem.
-if(NOT WIN32)
+#
+# Do not try to run if libclang was built with ASan because
+# the sanitizer library will likely be loaded too late to perform
+# interception and will then fail.
+# We could use LD_PRELOAD/DYLD_INSERT_LIBRARIES but this isn't
+# portable so its easier just to not run the tests when building
+# with ASan.
+if((NOT WIN32) AND (NOT LLVM_USE_ASAN))
set_property(GLOBAL APPEND PROPERTY
LLVM_ADDITIONAL_TEST_TARGETS check-clang-python)
endif()