Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Revert "Dlopen privatization should be okay now for TSan."
[simgrid.git] / tools / jenkins / Sanitizers.sh
index 9d83f58..8ef320e 100755 (executable)
@@ -1,4 +1,4 @@
-#!/bin/sh
+#!/usr/bin/env sh
 
 set -e
 
@@ -33,6 +33,7 @@ elif [ "${SANITIZER}" = "thread" ]
 then
     export TSAN_OPTIONS="memory_limit_mb=1500"
     SANITIZER_OPTIONS="-Denable_address_sanitizer=OFF -Denable_undefined_sanitizer=OFF -Denable_thread_sanitizer=ON"
+    export SMPI_PRIVATIZATION="mmap" # TSAN doesn't play well with dlopen
 elif [ "${SANITIZER}" = "undefined" ]
 then
     export UBSAN_OPTIONS="print_stacktrace=1"
@@ -48,10 +49,10 @@ fi
 for pkg in xsltproc
 do
    if command -v $pkg
-   then 
+   then
       echo "$pkg is installed. Good."
-   else 
-      die "please install $pkg before proceeding" 
+   else
+      die "please install $pkg before proceeding"
    fi
 done
 
@@ -81,10 +82,10 @@ cmake -Denable_documentation=OFF -Denable_lua=ON -Denable_java=OFF \
       -Denable_fortran=OFF ${SANITIZER_OPTIONS} $WORKSPACE
 
 make -j$NUMPROC
-ctest -D ExperimentalTest || true
+ctest --no-compress-output -D ExperimentalTest || true
 
 if [ -f Testing/TAG ] ; then
-   xsltproc $WORKSPACE/tools/jenkins/ctest2junit.xsl Testing/`head -n 1 < Testing/TAG`/Test.xml > CTestResults_${SANITIZER}.xml
+   xsltproc $WORKSPACE/tools/jenkins/ctest2junit.xsl Testing/$(head -n 1 < Testing/TAG)/Test.xml > CTestResults_${SANITIZER}.xml
    mv CTestResults_${SANITIZER}.xml $WORKSPACE
 fi