summaryrefslogtreecommitdiff
path: root/cpp/src/tests/run_test
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/tests/run_test')
-rwxr-xr-xcpp/src/tests/run_test30
1 files changed, 19 insertions, 11 deletions
diff --git a/cpp/src/tests/run_test b/cpp/src/tests/run_test
index 08bf845ba1..c535c8caaa 100755
--- a/cpp/src/tests/run_test
+++ b/cpp/src/tests/run_test
@@ -14,34 +14,42 @@
srcdir=`dirname $0`
source $srcdir/vg_check
-test -f .valgrindrc || cp $srcdir/.valgrindrc .
-test -f .valgrind.supp || cp $srcdir/.valgrind.supp .
-
# Export variables from makefile.
export VALGRIND srcdir
-# Export QPID_PORT if qpidd.port exists.
-test -f qpidd.port && export QPID_PORT=`cat qpidd.port`
+# Set QPID_PORT if qpidd.port exists.
+test -f qpidd.port && QPID_PORT=`cat qpidd.port`
+export QPID_PORT
# Avoid silly libtool error messages if these are not defined
-test -z "$LC_ALL" && export LC_ALL=
-test -z "$LC_CTYPE" && export LC_CTYPE=
-test -z "$LC_COLLATE" && export LC_COLLATE=
-test -z "$LC_MESSAGES" && export LC_MESSAGES=
+test -z "$LC_ALL" && LC_ALL=
+test -z "$LC_CTYPE" && LC_CTYPE=
+test -z "$LC_COLLATE" && LC_COLLATE=
+test -z "$LC_MESSAGES" && LC_MESSAGES=
+export LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
VG_LOG="$1.vglog"
rm -f $VG_LOG*
+VALGRIND_OPTS="
+--gen-suppressions=all
+--leak-check=full
+--demangle=yes
+--suppressions=$srcdir/.valgrind.supp
+--num-callers=25
+--trace-children=yes
+--log-file=$VG_LOG --
+"
+
if grep -l "^# Generated by .*libtool" "$1" >/dev/null 2>&1; then
# This is a libtool "executable". Valgrind it if VALGRIND specified.
- test -n "$VALGRIND" && VALGRIND="$VALGRIND --log-file=$VG_LOG --"
+ test -n "$VALGRIND" && VALGRIND="$VALGRIND $VALGRIND_OPTS"
# Hide output unless there's an error.
libtool --mode=execute $VALGRIND "$@" 2>&1 || ERROR=$?
test -n "$VALGRIND" && vg_check $VG_LOG*
else
# This is a non-libtool shell script, just execute it.
- export VALGRIND srcdir
exec "$@"
fi