From 1380efa1c650a79f16df8b6120472f08da18652c Mon Sep 17 00:00:00 2001 From: Milan Broz Date: Mon, 8 Feb 2021 17:33:19 +0100 Subject: [PATCH] Fix compat interactive test to run with valgrind too. --- tests/Makefile.am | 2 +- tests/compat-test | 68 +++++++++++++++++++++++++++-------------------- tests/valg-api.sh | 2 +- tests/valg.sh | 2 +- 4 files changed, 42 insertions(+), 32 deletions(-) diff --git a/tests/Makefile.am b/tests/Makefile.am index 07b34747..e9f28031 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -112,6 +112,7 @@ compatimage.img: @xz -k -d compatimage.img.xz valgrind-check: api-test api-test-2 differ + @VALG=1 ./compat-test @VALG=1 ./compat-test2 @VALG=1 ./luks2-validation-test @VALG=1 ./verity-compat-test @@ -120,6 +121,5 @@ valgrind-check: api-test api-test-2 differ @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/compat-test b/tests/compat-test index a61453ea..0947667b 100755 --- a/tests/compat-test +++ b/tests/compat-test @@ -3,6 +3,7 @@ PS4='$LINENO:' [ -z "$CRYPTSETUP_PATH" ] && CRYPTSETUP_PATH=".." CRYPTSETUP=$CRYPTSETUP_PATH/cryptsetup +CRYPTSETUP_RAW=$CRYPTSETUP CRYPTSETUP_VALGRIND=../.libs/cryptsetup CRYPTSETUP_LIB_VALGRIND=../.libs @@ -189,19 +190,28 @@ function add_scsi_device() { function valgrind_setup() { + [ -n "$VALG" ] || return 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" + CRYPTSETUP=valgrind_run + CRYPTSETUP_RAW="./valg.sh ${CRYPTSETUP_VALGRIND}" } function valgrind_run() { - INFOSTRING="$(basename ${BASH_SOURCE[1]})-line-${BASH_LINENO[0]}" ./valg.sh ${CRYPTSETUP_VALGRIND} "$@" + export INFOSTRING="$(basename ${BASH_SOURCE[1]})-line-${BASH_LINENO[0]}" + $CRYPTSETUP_RAW "$@" +} + +function expect_run() +{ + export INFOSTRING="$(basename ${BASH_SOURCE[1]})-line-${BASH_LINENO[0]}" + expect "$@" } export LANG=C - -[ -n "$VALG" ] && valgrind_setup && CRYPTSETUP=valgrind_run +valgrind_setup # LUKS non-root-tests if [ $(id -u) != 0 ]; then @@ -801,10 +811,10 @@ which expect >/dev/null 2>&1 || skip "WARNING: expect tool missing, interactive prepare "[32] Interactive password retry from terminal." new EXPECT_DEV=$(losetup $LOOPDEV | sed -e "s/.*(\(.*\))/\1/") -expect - >/dev/null </dev/null </dev/null </dev/null </dev/null </dev/null </dev/null </dev/null </dev/null </dev/null </dev/null </dev/null </dev/null </dev/null </dev/null </dev/null <