diff --git a/cmake/BuildLuzer.cmake b/cmake/BuildLuzer.cmake index a55e7ce..e37edfb 100644 --- a/cmake/BuildLuzer.cmake +++ b/cmake/BuildLuzer.cmake @@ -26,7 +26,7 @@ endif() ExternalProject_Add(bundled-luzer GIT_REPOSITORY https://github.com/ligurio/luzer - GIT_TAG 82d41c5f350296ca351e785a24c914165a0e8033 + GIT_TAG ligurio/gh-xxxx-build-sanitizer-libs GIT_PROGRESS TRUE GIT_SHALLOW FALSE SOURCE_DIR ${LUZER_DIR}/source diff --git a/tests/lapi/CMakeLists.txt b/tests/lapi/CMakeLists.txt index e5f35a7..cf41ccb 100644 --- a/tests/lapi/CMakeLists.txt +++ b/tests/lapi/CMakeLists.txt @@ -16,6 +16,22 @@ lapi_tests_make_lua_path(LUA_PATH ${CMAKE_CURRENT_SOURCE_DIR}/?.lua ) +set(DSO_SANITIZER_PATH "${PROJECT_BINARY_DIR}/luzer/build/luzer") +set(DSO_ASAN_PATH "${DSO_SANITIZER_PATH}/asan_with_fuzzer.so") +set(DSO_UBSAN_PATH "${DSO_SANITIZER_PATH}/ubsan_with_fuzzer.so") + +if(ENABLE_ASAN OR ENABLE_UBSAN) + set(LD_PRELOAD_LIBS "${DSO_ASAN_PATH}:${DSO_UBSAN_PATH}") +endif() + +list(APPEND TEST_ENV + "LUA_PATH=${LUA_PATH};" + "LUA_CPATH=${LUA_CPATH};" + "ASAN_OPTIONS=detect_odr_violation=0;" + "LD_DYNAMIC_WEAK=1;" + "LD_PRELOAD=${LD_PRELOAD_LIBS};" +) + function(create_test) cmake_parse_arguments( FUZZ @@ -45,7 +61,7 @@ function(create_test) ) set_tests_properties(${test_name} PROPERTIES LABELS "lapi" - ENVIRONMENT "LUA_PATH=${LUA_PATH};LUA_CPATH=${LUA_CPATH};ASAN_OPTIONS=detect_odr_violation=0;LD_DYNAMIC_WEAK=1" + ENVIRONMENT "${TEST_ENV}" DEPENDS ${LUA_EXECUTABLE} ${LUZER_LIBRARY} ) endfunction()