diff --git a/tests/00modules-test b/tests/00modules-test index ddf08b8c..6f9c1a44 100755 --- a/tests/00modules-test +++ b/tests/00modules-test @@ -1,5 +1,16 @@ #!/bin/bash +[ -z "$CRYPTSETUP_PATH" ] && CRYPTSETUP_PATH=".." + +function pversion() { + if [ ! -x $CRYPTSETUP_PATH/$1 ] ; then + return + fi + + echo -n "$CRYPTSETUP_PATH/" + $CRYPTSETUP_PATH/$1 --version +} + echo "Cryptsetup test environment ($(date))" uname -a @@ -8,10 +19,10 @@ if [ -f /etc/os-release ] ; then echo "$PRETTY_NAME ($NAME) $VERSION" fi -[ -x ../cryptsetup ] && ../cryptsetup --version -[ -x ../veritysetup ] && ../veritysetup --version -[ -x ../integritysetup ] && ../integritysetup --version -[ -x ../cryptsetup-reencrypt ] && ../cryptsetup-reencrypt --version +pversion cryptsetup +pversion veritysetup +pversion integritysetup +pversion cryptsetup-reencrypt [ $(id -u) != 0 ] && exit 77 diff --git a/tests/align-test b/tests/align-test index 55437ec4..1745caae 100755 --- a/tests/align-test +++ b/tests/align-test @@ -1,6 +1,7 @@ #!/bin/bash -CRYPTSETUP="../cryptsetup" +[ -z "$CRYPTSETUP_PATH" ] && CRYPTSETUP_PATH=".." +CRYPTSETUP=$CRYPTSETUP_PATH/cryptsetup DEV="" DEV_STACKED="luks0xbabe" DEV_NAME="dummyalign" diff --git a/tests/align-test2 b/tests/align-test2 index bedc3dd6..03da23cb 100755 --- a/tests/align-test2 +++ b/tests/align-test2 @@ -1,6 +1,7 @@ #!/bin/bash -CRYPTSETUP="../cryptsetup" +[ -z "$CRYPTSETUP_PATH" ] && CRYPTSETUP_PATH=".." +CRYPTSETUP=$CRYPTSETUP_PATH/cryptsetup DEV="" DEV_STACKED="luks0xbabe" DEV_NAME="dummyalign" diff --git a/tests/api-test-2.c b/tests/api-test-2.c index e0bb2487..27aaff5c 100644 --- a/tests/api-test-2.c +++ b/tests/api-test-2.c @@ -3500,6 +3500,11 @@ int main(int argc, char *argv[]) exit(77); } + if (getenv("CRYPTSETUP_PATH")) { + printf("Cannot run this test with CRYPTSETUP_PATH set.\n"); + exit(77); + } + for (i = 1; i < argc; i++) { if (!strcmp("-v", argv[i]) || !strcmp("--verbose", argv[i])) _verbose = 1; diff --git a/tests/api-test.c b/tests/api-test.c index 58014498..99f86560 100644 --- a/tests/api-test.c +++ b/tests/api-test.c @@ -1879,6 +1879,11 @@ int main(int argc, char *argv[]) exit(77); } + if (getenv("CRYPTSETUP_PATH")) { + printf("Cannot run this test with CRYPTSETUP_PATH set.\n"); + exit(77); + } + for (i = 1; i < argc; i++) { if (!strcmp("-v", argv[i]) || !strcmp("--verbose", argv[i])) _verbose = 1; diff --git a/tests/blockwise-compat b/tests/blockwise-compat index c9b08b7a..a7640208 100755 --- a/tests/blockwise-compat +++ b/tests/blockwise-compat @@ -304,6 +304,8 @@ run_all() { RUN "$BD_FAIL" $1 write_lseek_blockwise $((BSIZE+1)) $BSIZE $((DEVSIZE-BSIZE)) } +[ -n "$CRYPTSETUP_PATH" ] && skip "Cannot run this test with CRYPTSETUP_PATH set." + which $STRACE > /dev/null 2>&1 || unset STRACE test -x $BW_UNIT || skip "Run \"make `basename $BW_UNIT`\" first" diff --git a/tests/compat-test b/tests/compat-test index df1b8273..b02a295c 100755 --- a/tests/compat-test +++ b/tests/compat-test @@ -1,7 +1,8 @@ #!/bin/bash PS4='$LINENO:' -CRYPTSETUP=../cryptsetup +[ -z "$CRYPTSETUP_PATH" ] && CRYPTSETUP_PATH=".." +CRYPTSETUP=$CRYPTSETUP_PATH/cryptsetup CRYPTSETUP_VALGRIND=../.libs/cryptsetup CRYPTSETUP_LIB_VALGRIND=../.libs diff --git a/tests/compat-test2 b/tests/compat-test2 index 06afeb70..373f9355 100755 --- a/tests/compat-test2 +++ b/tests/compat-test2 @@ -1,7 +1,8 @@ #!/bin/bash PS4='$LINENO:' -CRYPTSETUP=../cryptsetup +[ -z "$CRYPTSETUP_PATH" ] && CRYPTSETUP_PATH=".." +CRYPTSETUP=$CRYPTSETUP_PATH/cryptsetup CRYPTSETUP_VALGRIND=../.libs/cryptsetup CRYPTSETUP_LIB_VALGRIND=../.libs diff --git a/tests/crypto-vectors.c b/tests/crypto-vectors.c index 3103afee..382e0245 100644 --- a/tests/crypto-vectors.c +++ b/tests/crypto-vectors.c @@ -893,6 +893,11 @@ static void __attribute__((noreturn)) exit_test(const char *msg, int r) int main(__attribute__ ((unused)) int argc, __attribute__ ((unused))char *argv[]) { + if (getenv("CRYPTSETUP_PATH")) { + printf("Cannot run this test with CRYPTSETUP_PATH set.\n"); + exit(77); + } + if (crypt_backend_init(NULL)) exit_test("Crypto backend init error.", EXIT_FAILURE); diff --git a/tests/device-test b/tests/device-test index 3328ffd4..b58d79b8 100755 --- a/tests/device-test +++ b/tests/device-test @@ -1,6 +1,7 @@ #!/bin/bash -CRYPTSETUP="../cryptsetup" +[ -z "$CRYPTSETUP_PATH" ] && CRYPTSETUP_PATH=".." +CRYPTSETUP=$CRYPTSETUP_PATH/cryptsetup MNT_DIR="./mnt_luks" DEV_NAME="dummy" DEV_NAME2="ymmud" diff --git a/tests/discards-test b/tests/discards-test index dfa75076..0e2942b5 100755 --- a/tests/discards-test +++ b/tests/discards-test @@ -1,6 +1,7 @@ #!/bin/bash -CRYPTSETUP="../cryptsetup" +[ -z "$CRYPTSETUP_PATH" ] && CRYPTSETUP_PATH=".." +CRYPTSETUP=$CRYPTSETUP_PATH/cryptsetup DEV_NAME="discard-t3st" DEV="" PWD1="93R4P4pIqAH8" diff --git a/tests/integrity-compat-test b/tests/integrity-compat-test index 58b36e96..8ea0e0e6 100755 --- a/tests/integrity-compat-test +++ b/tests/integrity-compat-test @@ -2,7 +2,9 @@ # # Test integritysetup compatibility. # -INTSETUP=../integritysetup +[ -z "$CRYPTSETUP_PATH" ] && CRYPTSETUP_PATH=".." +INTSETUP=$CRYPTSETUP_PATH/integritysetup + INTSETUP_VALGRIND=../.libs/integritysetup INTSETUP_LIB_VALGRIND=../.libs diff --git a/tests/keyring-compat-test b/tests/keyring-compat-test index a24c344e..94fe5412 100755 --- a/tests/keyring-compat-test +++ b/tests/keyring-compat-test @@ -22,7 +22,9 @@ CHKS_DMCRYPT=vk_in_dmcrypt.chk CHKS_KEYRING=vk_in_keyring.chk PWD="aaa" -CRYPTSETUP=../cryptsetup + +[ -z "$CRYPTSETUP_PATH" ] && CRYPTSETUP_PATH=".." +CRYPTSETUP=$CRYPTSETUP_PATH/cryptsetup function remove_mapping() { diff --git a/tests/loopaes-test b/tests/loopaes-test index fe593aac..901b1a5a 100755 --- a/tests/loopaes-test +++ b/tests/loopaes-test @@ -1,6 +1,7 @@ #!/bin/bash -CRYPTSETUP=../cryptsetup +[ -z "$CRYPTSETUP_PATH" ] && CRYPTSETUP_PATH=".." +CRYPTSETUP=$CRYPTSETUP_PATH/cryptsetup # try to validate using loop-AES losetup/kernel if available LOSETUP_AES=/losetup-aes.old diff --git a/tests/luks1-compat-test b/tests/luks1-compat-test index 2ac6c954..5f2b299f 100755 --- a/tests/luks1-compat-test +++ b/tests/luks1-compat-test @@ -6,7 +6,8 @@ # that you are not using old gcrypt with flawed whirlpool # (see cryptsetup debug output) -CRYPTSETUP=../cryptsetup +[ -z "$CRYPTSETUP_PATH" ] && CRYPTSETUP_PATH=".." +CRYPTSETUP=$CRYPTSETUP_PATH/cryptsetup TST_DIR=luks1-images MAP=luks1tst KEYFILE=keyfile1 diff --git a/tests/luks2-integrity-test b/tests/luks2-integrity-test index 5d49fce3..3ce60d96 100755 --- a/tests/luks2-integrity-test +++ b/tests/luks2-integrity-test @@ -2,7 +2,8 @@ # # Test cryptsetup/authenticated encryption compatibility. # -CRYPTSETUP=../cryptsetup +[ -z "$CRYPTSETUP_PATH" ] && CRYPTSETUP_PATH=".." +CRYPTSETUP=$CRYPTSETUP_PATH/cryptsetup DEV_NAME=dmi_test DEV=mode-test.img PWD1=nHjJHjI23JK diff --git a/tests/luks2-validation-test b/tests/luks2-validation-test index 06869ea8..a9fb47a7 100755 --- a/tests/luks2-validation-test +++ b/tests/luks2-validation-test @@ -3,7 +3,8 @@ #turn on debug mode by following env. variable _DEBUG=1 PS4='$LINENO:' -CRYPTSETUP=../cryptsetup +[ -z "$CRYPTSETUP_PATH" ] && CRYPTSETUP_PATH=".." +CRYPTSETUP=$CRYPTSETUP_PATH/cryptsetup CRYPTSETUP_VALGRIND=../.libs/cryptsetup CRYPTSETUP_LIB_VALGRIND=../.libs diff --git a/tests/mode-test b/tests/mode-test index 671620c3..a64b87ed 100755 --- a/tests/mode-test +++ b/tests/mode-test @@ -2,7 +2,8 @@ # # Test mode compatibility, check input + kernel and cryptsetup cipher status # -CRYPTSETUP=../cryptsetup +[ -z "$CRYPTSETUP_PATH" ] && CRYPTSETUP_PATH=".." +CRYPTSETUP=$CRYPTSETUP_PATH/cryptsetup DEV_NAME=dmc_test HEADER_IMG=mode-test.img PASSWORD=3xrododenron diff --git a/tests/password-hash-test b/tests/password-hash-test index fbc1f414..1e17e215 100755 --- a/tests/password-hash-test +++ b/tests/password-hash-test @@ -2,7 +2,8 @@ # check hash processing in create command -CRYPTSETUP=../cryptsetup +[ -z "$CRYPTSETUP_PATH" ] && CRYPTSETUP_PATH=".." +CRYPTSETUP=$CRYPTSETUP_PATH/cryptsetup DEV_NAME=dmc_test KEY_FILE=keyfile diff --git a/tests/reencryption-compat-test b/tests/reencryption-compat-test index 60295302..0adcda42 100755 --- a/tests/reencryption-compat-test +++ b/tests/reencryption-compat-test @@ -1,7 +1,8 @@ #!/bin/bash -CRYPTSETUP=../cryptsetup -REENC=../cryptsetup-reencrypt +[ -z "$CRYPTSETUP_PATH" ] && CRYPTSETUP_PATH=".." +CRYPTSETUP=$CRYPTSETUP_PATH/cryptsetup +REENC=$CRYPTSETUP_PATH/cryptsetup-reencrypt FAST_PBKDF="--pbkdf-force-iterations 1000" DEV_NAME=reenc9768 @@ -185,7 +186,14 @@ function mount_and_test() { } rm $MNT_DIR/* 2>/dev/null cd $MNT_DIR - echo $PWD2 | $START_DIR/$REENC $LOOPDEV1 -q --use-fsync --use-directio --write-log $FAST_PBKDF || return 1 + + if [ "${REENC:0:1}" != "/" ] ; then + MNT_REENC=$START_DIR/$REENC + else + MNT_REENC=$REENC + fi + + echo $PWD2 | $MNT_REENC $LOOPDEV1 -q --use-fsync --use-directio --write-log $FAST_PBKDF || return 1 cd $START_DIR umount $MNT_DIR echo -n [OK] diff --git a/tests/reencryption-compat-test2 b/tests/reencryption-compat-test2 index cb61d23f..a34333de 100755 --- a/tests/reencryption-compat-test2 +++ b/tests/reencryption-compat-test2 @@ -1,7 +1,8 @@ #!/bin/bash -CRYPTSETUP=../cryptsetup -REENC=../cryptsetup-reencrypt +[ -z "$CRYPTSETUP_PATH" ] && CRYPTSETUP_PATH=".." +CRYPTSETUP=$CRYPTSETUP_PATH/cryptsetup +REENC=$CRYPTSETUP_PATH/cryptsetup-reencrypt FAST_PBKDF_ARGON="--pbkdf-force-iterations 4 --pbkdf-memory 32 --pbkdf-parallel 1" FAST_PBKDF_PBKDF2="--pbkdf-force-iterations 1000 --pbkdf pbkdf2" DEFAULT_ARGON="argon2i" @@ -193,7 +194,13 @@ function mount_and_test() { } rm $MNT_DIR/* 2>/dev/null cd $MNT_DIR - echo $PWD2 | $START_DIR/$REENC $START_DIR/$IMG -q --use-fsync --use-directio --write-log $FAST_PBKDF_ARGON || return 1 + + if [ "${REENC:0:1}" != "/" ] ; then + MNT_REENC=$START_DIR/$REENC + else + MNT_REENC=$REENC + fi + echo $PWD2 | $MNT_REENC $START_DIR/$IMG -q --use-fsync --use-directio --write-log $FAST_PBKDF_ARGON || return 1 cd $START_DIR umount $MNT_DIR echo -n [OK] diff --git a/tests/tcrypt-compat-test b/tests/tcrypt-compat-test index 173b5c6d..523cb268 100755 --- a/tests/tcrypt-compat-test +++ b/tests/tcrypt-compat-test @@ -2,7 +2,8 @@ # check tcrypt images parsing -CRYPTSETUP=../cryptsetup +[ -z "$CRYPTSETUP_PATH" ] && CRYPTSETUP_PATH=".." +CRYPTSETUP=$CRYPTSETUP_PATH/cryptsetup TST_DIR=tcrypt-images MAP=tctst PASSWORD="aaaaaaaaaaaa" diff --git a/tests/verity-compat-test b/tests/verity-compat-test index 33e5d571..dd4a73e2 100755 --- a/tests/verity-compat-test +++ b/tests/verity-compat-test @@ -1,6 +1,7 @@ #!/bin/bash -VERITYSETUP=../veritysetup +[ -z "$CRYPTSETUP_PATH" ] && CRYPTSETUP_PATH=".." +VERITYSETUP=$CRYPTSETUP_PATH/veritysetup VERITYSETUP_VALGRIND=../.libs/veritysetup VERITYSETUP_LIB_VALGRIND=../.libs