From e43a22abcfa45cdba3c25b7de429f4d185ddeee2 Mon Sep 17 00:00:00 2001 From: Ondrej Kozina Date: Wed, 27 May 2020 16:08:34 +0200 Subject: [PATCH] Allow bitlk tests to run with valgrind. --- tests/Makefile.am | 1 + tests/bitlk-compat-test | 17 +++++++++++++++++ 2 files changed, 18 insertions(+) diff --git a/tests/Makefile.am b/tests/Makefile.am index 5a7e21de..07b34747 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -119,6 +119,7 @@ valgrind-check: api-test api-test-2 differ @INFOSTRING="api-test-000" ./valg-api.sh ./api-test @INFOSTRING="api-test-002" ./valg-api.sh ./api-test-2 @VALG=1 ./luks2-reencryption-test + @VALG=1 ./bitlk-compat-test @VALG=1 ./compat-test .PHONY: valgrind-check diff --git a/tests/bitlk-compat-test b/tests/bitlk-compat-test index 38efd0bf..95881102 100755 --- a/tests/bitlk-compat-test +++ b/tests/bitlk-compat-test @@ -7,6 +7,9 @@ CRYPTSETUP=$CRYPTSETUP_PATH/cryptsetup TST_DIR=bitlk-images MAP=bitlktst +CRYPTSETUP_VALGRIND=../.libs/cryptsetup +CRYPTSETUP_LIB_VALGRIND=../.libs + [ -z "$srcdir" ] && srcdir="." function remove_mapping() @@ -71,9 +74,23 @@ function check_dump() } +function valgrind_setup() +{ + which valgrind >/dev/null 2>&1 || fail "Cannot find valgrind." + [ ! -f $CRYPTSETUP_VALGRIND ] && fail "Unable to get location of cryptsetup executable." + export LD_LIBRARY_PATH="$CRYPTSETUP_LIB_VALGRIND:$LD_LIBRARY_PATH" +} + +function valgrind_run() +{ + INFOSTRING="$(basename ${BASH_SOURCE[1]})-line-${BASH_LINENO[0]}" ./valg.sh ${CRYPTSETUP_VALGRIND} "$@" +} + export LANG=C [ ! -d $TST_DIR ] && tar xJSf $srcdir/bitlk-images.tar.xz --no-same-owner +[ -n "$VALG" ] && valgrind_setup && CRYPTSETUP=valgrind_run + echo "HEADER CHECK" for file in $(ls $TST_DIR/bitlk-*) ; do echo -n " $file"