diff options
Diffstat (limited to 'regress/valgrind-unit.sh')
-rwxr-xr-x | regress/valgrind-unit.sh | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/regress/valgrind-unit.sh b/regress/valgrind-unit.sh new file mode 100755 index 0000000..193289e --- /dev/null +++ b/regress/valgrind-unit.sh @@ -0,0 +1,24 @@ +#!/bin/sh + +UNIT_BINARY="$1" +shift +UNIT_ARGS="$@" + +test "x$OBJ" = "x" && OBJ=$PWD + +# This mostly replicates the logic in test-exec.sh for running the +# regress tests under valgrind, except that we unconditionally enable +# leak checking because the unit tests should be clean. +VG_LEAK="--leak-check=full" +VG_TEST=`basename $UNIT_BINARY` +VG_LOG="$OBJ/valgrind-out/${VG_TEST}.%p" +VG_OPTS="--track-origins=yes $VG_LEAK --log-file=${VG_LOG}" +VG_OPTS="$VG_OPTS --trace-children=yes" +VG_PATH="valgrind" +if [ "x$VALGRIND_PATH" != "x" ]; then + VG_PATH="$VALGRIND_PATH" +fi + +mkdir -p "$OBJ/valgrind-out" + +exec $VG_PATH $VG_OPTS $UNIT_BINARY $UNIT_ARGS |