diff --git a/Utilities/ReleaseScripts/test/BuildFile.xml b/Utilities/ReleaseScripts/test/BuildFile.xml index 1e1a8464fa979..3c2b747222bb5 100644 --- a/Utilities/ReleaseScripts/test/BuildFile.xml +++ b/Utilities/ReleaseScripts/test/BuildFile.xml @@ -1 +1,6 @@ + + + + + diff --git a/Utilities/ReleaseScripts/test/test-valgrind-memleak.cpp b/Utilities/ReleaseScripts/test/test-valgrind-memleak.cpp new file mode 100644 index 0000000000000..dd78929bf4cb6 --- /dev/null +++ b/Utilities/ReleaseScripts/test/test-valgrind-memleak.cpp @@ -0,0 +1,4 @@ +int main() { + int* a = new int[10]; + return a[0]; +} diff --git a/Utilities/ReleaseScripts/test/test-valgrind.sh b/Utilities/ReleaseScripts/test/test-valgrind.sh new file mode 100755 index 0000000000000..799677bd1289d --- /dev/null +++ b/Utilities/ReleaseScripts/test/test-valgrind.sh @@ -0,0 +1,18 @@ +#!/bin/bash -e + +SCRIPT_NAME=$(basename $0) +TEST_NAME="test-valgrind-memleak" +valgrind --leak-check=full --undef-value-errors=no --error-limit=no \ + ${CMSSW_BASE}/test/${SCRAM_ARCH}/${TEST_NAME} > ${SCRIPT_NAME}.log 2>&1 + +cat ${SCRIPT_NAME}.log +echo "" +COUNT=$(grep 'definitely lost: [1-9][0-9]*' ${SCRIPT_NAME}.log | wc -l) +rm -f ${SCRIPT_NAME}.log + +if [ $COUNT -eq 0 ] ; then + echo "ERROR: Valgrind was suppose to find memory leaks" + exit 1 +else + echo "ALL OK" +fi