From 03877361308258df994624e889cde3c0904b2771 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Markus=20M=C3=A4kel=C3=A4?= Date: Fri, 28 Sep 2018 23:49:45 +0300 Subject: [PATCH] Fix ASAN problems FindASAN did not look for so version 5 and TSAN referred to ASAN. Disable leak checks for unit tests as some objects always leak, namely servers. --- BUILD/build_rpm_local.sh | 2 ++ cmake/FindASAN.cmake | 2 +- cmake/FindTSAN.cmake | 2 +- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/BUILD/build_rpm_local.sh b/BUILD/build_rpm_local.sh index 07b6492d1..66f5c16d7 100755 --- a/BUILD/build_rpm_local.sh +++ b/BUILD/build_rpm_local.sh @@ -14,6 +14,8 @@ make if [[ "$cmake_flags" =~ "BUILD_TESTS" ]] then + # We don't care about memory leaks in the tests (e.g. servers are never freed) + export ASAN_OPTIONS=detect_leaks=0 # All tests must pass otherwise the build is considered a failure ctest --output-on-failure || exit 1 diff --git a/cmake/FindASAN.cmake b/cmake/FindASAN.cmake index 6499e3aa0..b054bc4de 100644 --- a/cmake/FindASAN.cmake +++ b/cmake/FindASAN.cmake @@ -4,7 +4,7 @@ # ASAN_FOUND - If AddressSanitizer was found # ASAN_LIBRARIES - Path to the libasan library -find_library(ASAN_LIBRARIES NAMES libasan.so.0 libasan.so.1 libasan.so.2 libasan.so.3 libasan.so.4) +find_library(ASAN_LIBRARIES NAMES libasan.so.0 libasan.so.1 libasan.so.2 libasan.so.3 libasan.so.4 libasan.so.5) if (ASAN_LIBRARIES) message(STATUS "Found AddressSanitizer libraries: ${ASAN_LIBRARIES}") diff --git a/cmake/FindTSAN.cmake b/cmake/FindTSAN.cmake index f9be015e4..5eb4f72cb 100644 --- a/cmake/FindTSAN.cmake +++ b/cmake/FindTSAN.cmake @@ -10,5 +10,5 @@ if (TSAN_LIBRARIES) message(STATUS "Found ThreadSanitizer libraries: ${TSAN_LIBRARIES}") set(TSAN_FOUND TRUE CACHE INTERNAL "") else() - message(STATUS "Could not find AdressSanitizer") + message(STATUS "Could not find ThreadSanitizer") endif()