From 38b21d91ffde2bd6f0b260c4f10776062e374a00 Mon Sep 17 00:00:00 2001 From: Artem Dergachev Date: Mon, 15 Oct 2018 17:43:23 +0000 Subject: [PATCH] [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 --- clang/bindings/python/tests/CMakeLists.txt | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/clang/bindings/python/tests/CMakeLists.txt b/clang/bindings/python/tests/CMakeLists.txt index 1e10f67a..12a385c 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() -- 2.7.4