3
0
mirror of https://github.com/triqs/dft_tools synced 2024-09-12 13:48:30 +02:00
dft_tools/test/python/CMakeLists.txt
Nils Wentzell 6aa4eee0f4 [cmake] Fixing usage of ubsan with Minimal RT, some cleaning
- Use UBsan Minimal RT if found
- Prioritize gcc-7 directories over older
- Set UBSan options for c++/python tests
2018-04-24 23:34:14 +02:00

23 lines
764 B
CMake

# Copy h5 files to binary dir
file(GLOB all_h5_files *.h5)
file(COPY ${all_h5_files} DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
set(all_tests Toto chain)
foreach(t ${all_tests})
add_test(NAME ${t} COMMAND python ${CMAKE_CURRENT_SOURCE_DIR}/${t}.py)
endforeach()
# If ASAN=ON use minimal runtime of UBSAN if it exists
if(${ASAN} AND UBSAN_MINIMAL_RT_LIBRARY)
set(UBSAN_RT_LIBRARY ${UBSAN_MINIMAL_RT_LIBRARY})
endif()
# Set the PythonPath, Sanitizer Library Preloads and UBSan Options for all tests
set_property(TEST ${all_tests} PROPERTY
ENVIRONMENT
PYTHONPATH=${CMAKE_BINARY_DIR}/python:$ENV{PYTHONPATH}
LD_PRELOAD=$<$<BOOL:${ASAN}>:${ASAN_RT_LIBRARY}>:$<$<BOOL:${UBSAN}>:${UBSAN_RT_LIBRARY}>
UBSAN_OPTIONS=print_stacktrace=1:halt_on_error=1
)