]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
cmake: error out on UBSan error
authorKefu Chai <tchaikov@gmail.com>
Sun, 17 Mar 2024 11:35:04 +0000 (19:35 +0800)
committerKefu Chai <tchaikov@gmail.com>
Tue, 26 Mar 2024 23:35:28 +0000 (07:35 +0800)
so we can be alerted if UBSan identify something wrong.

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
cmake/modules/AddCephTest.cmake

index ccd3f8dee0b5531518ff93034b913779fe7c4dac..45bb26aa6155dad74461c14107164c9ba3ffea85 100644 (file)
@@ -19,6 +19,12 @@ function(add_ceph_test test_name test_path)
     PATH=${CMAKE_RUNTIME_OUTPUT_DIRECTORY}:${CMAKE_SOURCE_DIR}/src:$ENV{PATH}
     PYTHONPATH=${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/cython_modules/lib.3:${CMAKE_SOURCE_DIR}/src/pybind
     CEPH_BUILD_VIRTUALENV=${CEPH_BUILD_VIRTUALENV})
+  if(WITH_UBSAN)
+    set_property(TEST ${test_name}
+      APPEND
+      PROPERTY ENVIRONMENT
+      UBSAN_OPTIONS=halt_on_error=1:print_stacktrace=1)
+  endif()
   set_property(TEST ${test_name}
     PROPERTY TIMEOUT ${CEPH_TEST_TIMEOUT})
   # Crimson seastar unittest always run with --smp N to start N threads. By default, crimson seastar unittest