From 59436556329d1f9f6c9f63ed94eab6ae70be34b5 Mon Sep 17 00:00:00 2001 From: Artem Dergachev Date: Mon, 15 Oct 2018 17:43:23 +0000 Subject: [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 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@344537 91177308-0d34-0410-b5e6-96231b3b80d8 --- bindings/python/tests/CMakeLists.txt | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) (limited to 'bindings') diff --git a/bindings/python/tests/CMakeLists.txt b/bindings/python/tests/CMakeLists.txt index 1e10f67ad7..12a385ce55 100644 --- a/bindings/python/tests/CMakeLists.txt +++ b/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() -- cgit v1.2.1