From 1d20b763d661c5c6a509478d525edb4e6d116780 Mon Sep 17 00:00:00 2001 From: tmadlener Date: Thu, 10 Oct 2024 14:49:12 +0200 Subject: [PATCH] Enable RNTuple builds for sanitizer CI workflows --- .github/workflows/sanitizers.yaml | 1 + cmake/podioTest.cmake | 1 + tests/CTestCustom.cmake | 8 ++++++++ tests/root_io/leak_sanitizer_suppressions.txt | 2 ++ tests/unittests/CMakeLists.txt | 2 ++ 5 files changed, 14 insertions(+) create mode 100644 tests/root_io/leak_sanitizer_suppressions.txt diff --git a/.github/workflows/sanitizers.yaml b/.github/workflows/sanitizers.yaml index afeefa15e..da47f859f 100644 --- a/.github/workflows/sanitizers.yaml +++ b/.github/workflows/sanitizers.yaml @@ -44,6 +44,7 @@ jobs: -DUSE_EXTERNAL_CATCH2=OFF \ -DENABLE_SIO=ON \ -DENABLE_JULIA=ON \ + -DENABLE_RNTUPLE=ON \ -G Ninja .. echo "::endgroup::" echo "::group::Build" diff --git a/cmake/podioTest.cmake b/cmake/podioTest.cmake index 0f2b9c675..4c4d8f24d 100644 --- a/cmake/podioTest.cmake +++ b/cmake/podioTest.cmake @@ -14,6 +14,7 @@ function(PODIO_SET_TEST_ENV test) PODIO_BASE=${PROJECT_SOURCE_DIR} ENABLE_SIO=${ENABLE_SIO} PODIO_BUILD_BASE=${PROJECT_BINARY_DIR} + LSAN_OPTIONS=suppressions=${PROJECT_SOURCE_DIR}/tests/root_io/leak_sanitizer_suppressions.txt ) set_property(TEST ${test} PROPERTY ENVIRONMENT "${test_environment}" diff --git a/tests/CTestCustom.cmake b/tests/CTestCustom.cmake index 802bbed3a..f6e48b10d 100644 --- a/tests/CTestCustom.cmake +++ b/tests/CTestCustom.cmake @@ -30,6 +30,8 @@ if ((NOT "@FORCE_RUN_ALL_TESTS@" STREQUAL "ON") AND (NOT "@USE_SANITIZER@" STREQ write_python_frame_sio read_python_frame_sio + write_python_frame_rntuple + relation_range pyunittest @@ -45,10 +47,16 @@ if ((NOT "@FORCE_RUN_ALL_TESTS@" STREQUAL "ON") AND (NOT "@USE_SANITIZER@" STREQ podio-dump-legacy_sio_v00-16-06 podio-dump-legacy_sio-detailed_v00-16-06 + podio-dump-rntuple + podio-dump-rntuple-detailed + datamodel_def_store_roundtrip_root datamodel_def_store_roundtrip_root_extension datamodel_def_store_roundtrip_sio datamodel_def_store_roundtrip_sio_extension + datamodel_def_store_roundtrip_rntuple + datamodel_def_store_roundtrip_rntuple_extension + write_old_data_root read_new_data_root diff --git a/tests/root_io/leak_sanitizer_suppressions.txt b/tests/root_io/leak_sanitizer_suppressions.txt new file mode 100644 index 000000000..fe5748c70 --- /dev/null +++ b/tests/root_io/leak_sanitizer_suppressions.txt @@ -0,0 +1,2 @@ +# Ignore leaks from Cling +leak:Cling diff --git a/tests/unittests/CMakeLists.txt b/tests/unittests/CMakeLists.txt index 926b0fe8c..07c304a57 100644 --- a/tests/unittests/CMakeLists.txt +++ b/tests/unittests/CMakeLists.txt @@ -83,5 +83,7 @@ else() PODIO_SIOBLOCK_PATH=${PROJECT_BINARY_DIR}/tests ENVIRONMENT LD_LIBRARY_PATH=${CMAKE_CURRENT_BINARY_DIR}:${PROJECT_BINARY_DIR}/src:${PROJECT_BINARY_DIR}/tests:$:$<$:$>:$ENV{LD_LIBRARY_PATH} + ENVIRONMENT + LSAN_OPTIONS=suppressions=${PROJECT_SOURCE_DIR}/tests/root_io/leak_sanitizer_suppressions.txt ) endif()