Michal Gorny | 61adf8a | 2018-10-11 16:32:54 +0000 | [diff] [blame] | 1 | # Test target to run Python test suite from main build. |
| 2 | |
| 3 | add_custom_target(check-clang-python |
Michal Gorny | d50a431 | 2018-10-11 20:26:55 +0000 | [diff] [blame] | 4 | COMMAND ${CMAKE_COMMAND} -E env |
| 5 | CLANG_LIBRARY_PATH=$<TARGET_FILE_DIR:libclang> |
| 6 | ${PYTHON_EXECUTABLE} -m unittest discover |
Michal Gorny | cc8ea49 | 2018-10-11 17:45:35 +0000 | [diff] [blame] | 7 | DEPENDS libclang |
| 8 | WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/..) |
Michal Gorny | 61adf8a | 2018-10-11 16:32:54 +0000 | [diff] [blame] | 9 | |
Artem Dergachev | 38b21d9 | 2018-10-15 17:43:23 +0000 | [diff] [blame^] | 10 | # Check if we are building with ASan |
| 11 | list(FIND LLVM_USE_SANITIZER "Address" LLVM_USE_ASAN_INDEX) |
| 12 | if (LLVM_USE_ASAN_INDEX EQUAL -1) |
| 13 | set(LLVM_USE_ASAN FALSE) |
| 14 | else() |
| 15 | set(LLVM_USE_ASAN TRUE) |
| 16 | endif() |
| 17 | |
Michal Gorny | 22297d9 | 2018-10-12 20:03:54 +0000 | [diff] [blame] | 18 | # Tests fail on Windows, and need someone knowledgeable to fix. |
| 19 | # It's not clear whether it's a test or a valid binding problem. |
Artem Dergachev | 38b21d9 | 2018-10-15 17:43:23 +0000 | [diff] [blame^] | 20 | # |
| 21 | # Do not try to run if libclang was built with ASan because |
| 22 | # the sanitizer library will likely be loaded too late to perform |
| 23 | # interception and will then fail. |
| 24 | # We could use LD_PRELOAD/DYLD_INSERT_LIBRARIES but this isn't |
| 25 | # portable so its easier just to not run the tests when building |
| 26 | # with ASan. |
| 27 | if((NOT WIN32) AND (NOT LLVM_USE_ASAN)) |
Michal Gorny | 22297d9 | 2018-10-12 20:03:54 +0000 | [diff] [blame] | 28 | set_property(GLOBAL APPEND PROPERTY |
| 29 | LLVM_ADDITIONAL_TEST_TARGETS check-clang-python) |
| 30 | endif() |