From 5324e516bef924a61f2d4a0247babeb156c908b1 Mon Sep 17 00:00:00 2001 From: Soeren Peters <peters@irmb.tu-bs.de> Date: Mon, 22 May 2023 14:23:24 +0000 Subject: [PATCH] Add Sanitizer CI jobs. --- .gitlab-ci.yml | 40 +++++++++++++++++++++++++++++++++++++++- CMake/Sanitizers.cmake | 1 + 2 files changed, 40 insertions(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 42dc32b0f..dc6705457 100755 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -318,7 +318,6 @@ regression_test_8gpu: - cd .. - fieldcompare dir output/8GPU test_data/regression_tests/gpu/DrivenCavity_8GPU_2Levels --include-files "DrivenCavityMultiGPU*.vtu" - fieldcompare dir output/8GPU test_data/regression_tests/gpu/SphereScaling_8GPU_2Levels --include-files "SphereScaling*.vtu" - ############################################################################### ## Benchmark ## ############################################################################### @@ -390,6 +389,10 @@ gpu_numerical_tests: needs: [] + tags: + - gpu + - linux + rules: - if: '$CI_PROJECT_NAMESPACE == "irmb" && $CI_COMMIT_BRANCH == "develop"' when: always @@ -553,6 +556,41 @@ clang-tidy: - build/compile_commands.json +############################################################################### +## Sanitizer ## +############################################################################### +sanitizer-address-leak-ub: + extends: .analyze_template + script: + - mkdir -p build + - cmake -B build + --preset=make_all + -DENABLE_SANITIZER_ADDRESS=ON + -DENABLE_SANITIZER_LEAK=ON + -DENABLE_SANITIZER_UNDEFINED_BEHAVIOR=ON + - make -j8 + - ctest + +sanitizer-thread: + extends: .analyze_template + script: + - mkdir -p build + - cmake -B build + --preset=make_all + -DENABLE_SANITIZER_THREAD=ON + - make -j8 + - ctest + +sanitizer-memory: + extends: .analyze_template + script: + - mkdir -p build + - cmake -B build + --preset=make_all + -DENABLE_SANITIZER_MEMORY=ON + - make -j8 + - ctest + ############################################################################### # doxgen pages: diff --git a/CMake/Sanitizers.cmake b/CMake/Sanitizers.cmake index 6f16207fe..ea37a66a1 100644 --- a/CMake/Sanitizers.cmake +++ b/CMake/Sanitizers.cmake @@ -52,6 +52,7 @@ function(enable_sanitizers project_name) "${LIST_OF_SANITIZERS}" STREQUAL "") + message(STATUS "Enabling sanitizers: ${LIST_OF_SANITIZERS}") target_compile_options(${project_name} INTERFACE -fsanitize=${LIST_OF_SANITIZERS}) target_link_options(${project_name} INTERFACE -fsanitize=${LIST_OF_SANITIZERS}) endif() -- GitLab