Add valgrind support to more tests.

This commit is contained in:
daniel.zatovic
2022-08-05 16:34:38 +02:00
committed by Milan Broz
parent abfb5e374f
commit 429afe8fc3
13 changed files with 216 additions and 0 deletions

View File

@@ -172,6 +172,22 @@ valgrind-check: api-test api-test-2 differ
@VALG=1 ./luks2-reencryption-mangle-test @VALG=1 ./luks2-reencryption-mangle-test
@VALG=1 ./bitlk-compat-test @VALG=1 ./bitlk-compat-test
@VALG=1 ./tcrypt-compat-test @VALG=1 ./tcrypt-compat-test
@VALG=1 ./align-test
@VALG=1 ./align-test2
@VALG=1 ./device-test
@VALG=1 ./discards-test
@VALG=1 ./keyring-compat-test
@VALG=1 ./loopaes-test
@VALG=1 ./luks1-compat-test
@VALG=1 ./luks2-integrity-test
@VALG=1 ./mode-test
@VALG=1 ./password-hash-test
@VALG=1 ./reencryption-compat-test
@VALG=1 [ -z "$RUN_SSH_PLUGIN_TEST" ] || ./ssh-test-plugin
@INFOSTRING="unit-utils-crypt-test" ./valg-api.sh ./unit-utils-crypt-test
@INFOSTRING="vectors-test" ./valg-api.sh ./vectors-test
@INFOSTRING="api-test" ./valg-api.sh ./api-test
@INFOSTRING="api-test-2" ./valg-api.sh ./api-test-2
@grep -l "ERROR SUMMARY: [^0][0-9]* errors" valglog* || echo "No leaks detected." @grep -l "ERROR SUMMARY: [^0][0-9]* errors" valglog* || echo "No leaks detected."
.PHONY: valgrind-check .PHONY: valgrind-check

View File

@@ -10,6 +10,9 @@ PWD1="93R4P4pIqAH8"
PWD2="mymJeD8ivEhE" PWD2="mymJeD8ivEhE"
FAST_PBKDF="--pbkdf-force-iterations 1000" FAST_PBKDF="--pbkdf-force-iterations 1000"
CRYPTSETUP_VALGRIND=../.libs/cryptsetup
CRYPTSETUP_LIB_VALGRIND=../.libs
cleanup() { cleanup() {
udevadm settle >/dev/null 2>&1 udevadm settle >/dev/null 2>&1
if [ -d "$MNT_DIR" ] ; then if [ -d "$MNT_DIR" ] ; then
@@ -40,6 +43,18 @@ skip()
exit 77 exit 77
} }
function valgrind_setup()
{
command -v valgrind >/dev/null || 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} "$@"
}
function dm_crypt_features() function dm_crypt_features()
{ {
VER_STR=$(dmsetup targets | grep crypt | cut -f2 -dv) VER_STR=$(dmsetup targets | grep crypt | cut -f2 -dv)
@@ -174,6 +189,7 @@ format_plain_fail() # sector size
} }
[ ! -x "$CRYPTSETUP" ] && skip "Cannot find $CRYPTSETUP, test skipped." [ ! -x "$CRYPTSETUP" ] && skip "Cannot find $CRYPTSETUP, test skipped."
[ -n "$VALG" ] && valgrind_setup && CRYPTSETUP=valgrind_run
if [ $(id -u) != 0 ]; then if [ $(id -u) != 0 ]; then
echo "WARNING: You must be root to run this test, test skipped." echo "WARNING: You must be root to run this test, test skipped."
exit 77 exit 77

View File

@@ -11,6 +11,9 @@ PWD1="93R4P4pIqAH8"
PWD2="mymJeD8ivEhE" PWD2="mymJeD8ivEhE"
FAST_PBKDF="--pbkdf pbkdf2 --pbkdf-force-iterations 1000" FAST_PBKDF="--pbkdf pbkdf2 --pbkdf-force-iterations 1000"
CRYPTSETUP_VALGRIND=../.libs/cryptsetup
CRYPTSETUP_LIB_VALGRIND=../.libs
cleanup() { cleanup() {
udevadm settle >/dev/null 2>&1 udevadm settle >/dev/null 2>&1
if [ -d "$MNT_DIR" ] ; then if [ -d "$MNT_DIR" ] ; then
@@ -42,6 +45,18 @@ skip()
exit 77 exit 77
} }
function valgrind_setup()
{
command -v valgrind >/dev/null || 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} "$@"
}
function dm_crypt_features() function dm_crypt_features()
{ {
VER_STR=$(dmsetup targets | grep crypt | cut -f2 -dv) VER_STR=$(dmsetup targets | grep crypt | cut -f2 -dv)
@@ -193,6 +208,7 @@ auto_sector() # expected device header
} }
[ ! -x "$CRYPTSETUP" ] && skip "Cannot find $CRYPTSETUP, test skipped." [ ! -x "$CRYPTSETUP" ] && skip "Cannot find $CRYPTSETUP, test skipped."
[ -n "$VALG" ] && valgrind_setup && CRYPTSETUP=valgrind_run
if [ $(id -u) != 0 ]; then if [ $(id -u) != 0 ]; then
echo "WARNING: You must be root to run this test, test skipped." echo "WARNING: You must be root to run this test, test skipped."
exit 77 exit 77

View File

@@ -10,6 +10,9 @@ PWD2="mymJeD8ivEhE"
FAST_PBKDF_OPT="--pbkdf pbkdf2 --pbkdf-force-iterations 1000" FAST_PBKDF_OPT="--pbkdf pbkdf2 --pbkdf-force-iterations 1000"
SKIP_COUNT=0 SKIP_COUNT=0
CRYPTSETUP_VALGRIND=../.libs/cryptsetup
CRYPTSETUP_LIB_VALGRIND=../.libs
cleanup() { cleanup() {
[ -b /dev/mapper/$DEV_NAME ] && dmsetup remove --retry $DEV_NAME [ -b /dev/mapper/$DEV_NAME ] && dmsetup remove --retry $DEV_NAME
udevadm settle >/dev/null 2>&1 udevadm settle >/dev/null 2>&1
@@ -36,6 +39,18 @@ skip()
exit 77 exit 77
} }
function valgrind_setup()
{
command -v valgrind >/dev/null || 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} "$@"
}
add_device() { add_device() {
rmmod scsi_debug >/dev/null 2>&1 rmmod scsi_debug >/dev/null 2>&1
[ -d /sys/module/scsi_debug ] && skip "Cannot use scsi_debug module (in use or compiled-in)." [ -d /sys/module/scsi_debug ] && skip "Cannot use scsi_debug module (in use or compiled-in)."
@@ -130,6 +145,7 @@ check_io()
} }
[ ! -x "$CRYPTSETUP" ] && skip "Cannot find $CRYPTSETUP, test skipped." [ ! -x "$CRYPTSETUP" ] && skip "Cannot find $CRYPTSETUP, test skipped."
[ -n "$VALG" ] && valgrind_setup && CRYPTSETUP=valgrind_run
if [ $(id -u) != 0 ]; then if [ $(id -u) != 0 ]; then
skip "You must be root to run this test, test skipped." skip "You must be root to run this test, test skipped."
fi fi

View File

@@ -6,6 +6,9 @@ DEV_NAME="discard-t3st"
DEV="" DEV=""
PWD1="93R4P4pIqAH8" PWD1="93R4P4pIqAH8"
CRYPTSETUP_VALGRIND=../.libs/cryptsetup
CRYPTSETUP_LIB_VALGRIND=../.libs
cleanup() { cleanup() {
[ -b /dev/mapper/$DEV_NAME ] && dmsetup remove --retry $DEV_NAME [ -b /dev/mapper/$DEV_NAME ] && dmsetup remove --retry $DEV_NAME
udevadm settle >/dev/null 2>&1 udevadm settle >/dev/null 2>&1
@@ -27,6 +30,18 @@ skip()
exit 77 exit 77
} }
function valgrind_setup()
{
command -v valgrind >/dev/null || 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} "$@"
}
add_device() { add_device() {
rmmod scsi_debug >/dev/null 2>&1 rmmod scsi_debug >/dev/null 2>&1
if [ -d /sys/module/scsi_debug ] ; then if [ -d /sys/module/scsi_debug ] ; then
@@ -61,6 +76,7 @@ function check_version()
} }
[ ! -x "$CRYPTSETUP" ] && skip "Cannot find $CRYPTSETUP, test skipped." [ ! -x "$CRYPTSETUP" ] && skip "Cannot find $CRYPTSETUP, test skipped."
[ -n "$VALG" ] && valgrind_setup && CRYPTSETUP=valgrind_run
if [ $(id -u) != 0 ]; then if [ $(id -u) != 0 ]; then
echo "WARNING: You must be root to run this test, test skipped." echo "WARNING: You must be root to run this test, test skipped."
exit 77 exit 77

View File

@@ -26,6 +26,9 @@ PWD="aaa"
[ -z "$CRYPTSETUP_PATH" ] && CRYPTSETUP_PATH=".." [ -z "$CRYPTSETUP_PATH" ] && CRYPTSETUP_PATH=".."
CRYPTSETUP=$CRYPTSETUP_PATH/cryptsetup CRYPTSETUP=$CRYPTSETUP_PATH/cryptsetup
CRYPTSETUP_VALGRIND=../.libs/cryptsetup
CRYPTSETUP_LIB_VALGRIND=../.libs
[ -f /etc/system-fips ] && FIPS_MODE=$(cat /proc/sys/crypto/fips_enabled 2>/dev/null) [ -f /etc/system-fips ] && FIPS_MODE=$(cat /proc/sys/crypto/fips_enabled 2>/dev/null)
function remove_mapping() function remove_mapping()
@@ -47,6 +50,18 @@ function skip()
exit 77 exit 77
} }
function valgrind_setup()
{
command -v valgrind >/dev/null || 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} "$@"
}
function fail() function fail()
{ {
[ -n "$1" ] && echo "$1" [ -n "$1" ] && echo "$1"
@@ -116,6 +131,7 @@ add_device() {
} }
[ ! -x "$CRYPTSETUP" ] && skip "Cannot find $CRYPTSETUP, test skipped." [ ! -x "$CRYPTSETUP" ] && skip "Cannot find $CRYPTSETUP, test skipped."
[ -n "$VALG" ] && valgrind_setup && CRYPTSETUP=valgrind_run
[ $(id -u) != 0 ] && skip "WARNING: You must be root to run this test, test skipped." [ $(id -u) != 0 ] && skip "WARNING: You must be root to run this test, test skipped."
command -v dmsetup >/dev/null || skip "Cannot find dmsetup, test skipped" command -v dmsetup >/dev/null || skip "Cannot find dmsetup, test skipped"
command -v keyctl >/dev/null || skip "Cannot find keyctl, test skipped" command -v keyctl >/dev/null || skip "Cannot find keyctl, test skipped"

View File

@@ -3,6 +3,9 @@
[ -z "$CRYPTSETUP_PATH" ] && CRYPTSETUP_PATH=".." [ -z "$CRYPTSETUP_PATH" ] && CRYPTSETUP_PATH=".."
CRYPTSETUP=$CRYPTSETUP_PATH/cryptsetup CRYPTSETUP=$CRYPTSETUP_PATH/cryptsetup
CRYPTSETUP_VALGRIND=../.libs/cryptsetup
CRYPTSETUP_LIB_VALGRIND=../.libs
# try to validate using loop-AES losetup/kernel if available # try to validate using loop-AES losetup/kernel if available
LOSETUP_AES=/losetup-aes.old LOSETUP_AES=/losetup-aes.old
@@ -42,6 +45,18 @@ function skip()
exit 77 exit 77
} }
function valgrind_setup()
{
command -v valgrind >/dev/null || 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} "$@"
}
function prepare() function prepare()
{ {
remove_mapping remove_mapping
@@ -145,6 +160,7 @@ function check_version()
[ $(id -u) != 0 ] && skip "WARNING: You must be root to run this test, test skipped." [ $(id -u) != 0 ] && skip "WARNING: You must be root to run this test, test skipped."
[ -z "$LOOPDEV" ] && skip "Cannot find free loop device, test skipped." [ -z "$LOOPDEV" ] && skip "Cannot find free loop device, test skipped."
[ ! -x "$CRYPTSETUP" ] && skip "Cannot find $CRYPTSETUP, test skipped." [ ! -x "$CRYPTSETUP" ] && skip "Cannot find $CRYPTSETUP, test skipped."
[ -n "$VALG" ] && valgrind_setup && CRYPTSETUP=valgrind_run
command -v uuencode >/dev/null || skip "WARNING: test require uuencode binary, test skipped." command -v uuencode >/dev/null || skip "WARNING: test require uuencode binary, test skipped."
check_version || skip "Probably old kernel, test skipped." check_version || skip "Probably old kernel, test skipped."

View File

@@ -12,6 +12,9 @@ TST_DIR=luks1-images
MAP=luks1tst MAP=luks1tst
KEYFILE=keyfile1 KEYFILE=keyfile1
CRYPTSETUP_VALGRIND=../.libs/cryptsetup
CRYPTSETUP_LIB_VALGRIND=../.libs
[ -z "$srcdir" ] && srcdir="." [ -z "$srcdir" ] && srcdir="."
function remove_mapping() function remove_mapping()
@@ -37,6 +40,18 @@ function skip()
exit 77 exit 77
} }
function valgrind_setup()
{
command -v valgrind >/dev/null || 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} "$@"
}
function test_one() function test_one()
{ {
$CRYPTSETUP benchmark -c "$1" -s "$2" | grep -v "#" || skip "Cannot use $1/$2, test skipped." $CRYPTSETUP benchmark -c "$1" -s "$2" | grep -v "#" || skip "Cannot use $1/$2, test skipped."
@@ -61,6 +76,7 @@ function test_required()
export LANG=C export LANG=C
[ ! -x "$CRYPTSETUP" ] && skip "Cannot find $CRYPTSETUP, test skipped." [ ! -x "$CRYPTSETUP" ] && skip "Cannot find $CRYPTSETUP, test skipped."
[ -n "$VALG" ] && valgrind_setup && CRYPTSETUP=valgrind_run
test_required test_required
[ ! -d $TST_DIR ] && tar xJf $srcdir/luks1-images.tar.xz --no-same-owner [ ! -d $TST_DIR ] && tar xJf $srcdir/luks1-images.tar.xz --no-same-owner

View File

@@ -11,6 +11,9 @@ PWD1=nHjJHjI23JK
KEY_FILE=key.img KEY_FILE=key.img
FAST_PBKDF_OPT="--pbkdf pbkdf2 --pbkdf-force-iterations 1000" FAST_PBKDF_OPT="--pbkdf pbkdf2 --pbkdf-force-iterations 1000"
CRYPTSETUP_VALGRIND=../.libs/cryptsetup
CRYPTSETUP_LIB_VALGRIND=../.libs
dmremove() { # device dmremove() { # device
udevadm settle >/dev/null 2>&1 udevadm settle >/dev/null 2>&1
dmsetup remove $1 >/dev/null 2>&1 dmsetup remove $1 >/dev/null 2>&1
@@ -38,6 +41,18 @@ skip()
exit 77 exit 77
} }
function valgrind_setup()
{
command -v valgrind >/dev/null || 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} "$@"
}
add_device() { add_device() {
cleanup cleanup
dd if=/dev/urandom of=$KEY_FILE bs=1 count=512 >/dev/null 2>&1 dd if=/dev/urandom of=$KEY_FILE bs=1 count=512 >/dev/null 2>&1
@@ -139,6 +154,7 @@ intformat() # alg integrity integrity_out key_size int_key_size sector_size csum
[ $(id -u) != 0 ] && skip "WARNING: You must be root to run this test, test skipped." [ $(id -u) != 0 ] && skip "WARNING: You must be root to run this test, test skipped."
[ ! -x "$CRYPTSETUP" ] && skip "Cannot find $CRYPTSETUP, test skipped." [ ! -x "$CRYPTSETUP" ] && skip "Cannot find $CRYPTSETUP, test skipped."
[ -n "$VALG" ] && valgrind_setup && CRYPTSETUP=valgrind_run
modprobe dm-integrity >/dev/null 2>&1 modprobe dm-integrity >/dev/null 2>&1
dmsetup targets | grep integrity >/dev/null 2>&1 || skip "Cannot find dm-integrity target, test skipped." dmsetup targets | grep integrity >/dev/null 2>&1 || skip "Cannot find dm-integrity target, test skipped."
command -v wipefs >/dev/null || skip "Cannot find wipefs, test skipped." command -v wipefs >/dev/null || skip "Cannot find wipefs, test skipped."

View File

@@ -16,6 +16,9 @@ IVMODES="null benbi plain plain64 essiv:sha256"
LOOPDEV=$(losetup -f 2>/dev/null) LOOPDEV=$(losetup -f 2>/dev/null)
CRYPTSETUP_VALGRIND=../.libs/cryptsetup
CRYPTSETUP_LIB_VALGRIND=../.libs
dmremove() { # device dmremove() { # device
udevadm settle >/dev/null 2>&1 udevadm settle >/dev/null 2>&1
dmsetup remove --retry $1 >/dev/null 2>&1 dmsetup remove --retry $1 >/dev/null 2>&1
@@ -43,6 +46,19 @@ skip()
exit 77 exit 77
} }
function valgrind_setup()
{
command -v valgrind >/dev/null || 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} "$@"
}
add_device() { add_device() {
cleanup cleanup
dd if=/dev/zero of=$HEADER_IMG bs=1M count=6 >/dev/null 2>&1 dd if=/dev/zero of=$HEADER_IMG bs=1M count=6 >/dev/null 2>&1
@@ -136,6 +152,7 @@ dmcrypt()
[ $(id -u) != 0 ] && skip "WARNING: You must be root to run this test, test skipped." [ $(id -u) != 0 ] && skip "WARNING: You must be root to run this test, test skipped."
[ -z "$LOOPDEV" ] && skip "Cannot find free loop device, test skipped." [ -z "$LOOPDEV" ] && skip "Cannot find free loop device, test skipped."
[ ! -x "$CRYPTSETUP" ] && skip "Cannot find $CRYPTSETUP, test skipped." [ ! -x "$CRYPTSETUP" ] && skip "Cannot find $CRYPTSETUP, test skipped."
[ -n "$VALG" ] && valgrind_setup && CRYPTSETUP=valgrind_run
add_device add_device

View File

@@ -9,6 +9,9 @@ KEY_FILE=keyfile
DEV2=$DEV_NAME"_x" DEV2=$DEV_NAME"_x"
CRYPTSETUP_VALGRIND=../.libs/cryptsetup
CRYPTSETUP_LIB_VALGRIND=../.libs
dmremove() { # device dmremove() { # device
udevadm settle >/dev/null 2>&1 udevadm settle >/dev/null 2>&1
dmsetup remove --retry $1 >/dev/null 2>&1 dmsetup remove --retry $1 >/dev/null 2>&1
@@ -35,6 +38,18 @@ skip()
cleanup 77 cleanup 77
} }
function valgrind_setup()
{
command -v valgrind >/dev/null || 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} "$@"
}
crypt_key() # hash keysize pwd/file name outkey [limit] [offset] crypt_key() # hash keysize pwd/file name outkey [limit] [offset]
{ {
DEV2=$DEV_NAME"_x" DEV2=$DEV_NAME"_x"
@@ -102,6 +117,7 @@ crypt_key() # hash keysize pwd/file name outkey [limit] [offset]
} }
[ ! -x "$CRYPTSETUP" ] && skip "Cannot find $CRYPTSETUP, test skipped." [ ! -x "$CRYPTSETUP" ] && skip "Cannot find $CRYPTSETUP, test skipped."
[ -n "$VALG" ] && valgrind_setup && CRYPTSETUP=valgrind_run
if [ $(id -u) != 0 ]; then if [ $(id -u) != 0 ]; then
echo "WARNING: You must be root to run this test, test skipped." echo "WARNING: You must be root to run this test, test skipped."
exit 77 exit 77

View File

@@ -6,6 +6,9 @@ REENC_BIN=$CRYPTSETUP
REENC="$REENC_BIN reencrypt" REENC="$REENC_BIN reencrypt"
FAST_PBKDF="--pbkdf-force-iterations 1000 --pbkdf pbkdf2" FAST_PBKDF="--pbkdf-force-iterations 1000 --pbkdf pbkdf2"
CRYPTSETUP_VALGRIND=../.libs/cryptsetup
CRYPTSETUP_LIB_VALGRIND=../.libs
DEV_NAME=reenc9768 DEV_NAME=reenc9768
DEV_NAME2=reenc1273 DEV_NAME2=reenc1273
IMG=reenc-data IMG=reenc-data
@@ -54,6 +57,18 @@ function skip()
exit 77 exit 77
} }
function valgrind_setup()
{
command -v valgrind >/dev/null || 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} "$@"
}
function add_scsi_device() { function add_scsi_device() {
del_scsi_device del_scsi_device
if [ -d /sys/module/scsi_debug ] ; then if [ -d /sys/module/scsi_debug ] ; then
@@ -230,6 +245,7 @@ function check_blkid() {
[ $(id -u) != 0 ] && skip "WARNING: You must be root to run this test, test skipped." [ $(id -u) != 0 ] && skip "WARNING: You must be root to run this test, test skipped."
[ ! -x "$REENC_BIN" ] && skip "Cannot find $REENC_BIN, test skipped." [ ! -x "$REENC_BIN" ] && skip "Cannot find $REENC_BIN, test skipped."
[ -n "$VALG" ] && valgrind_setup && CRYPTSETUP=valgrind_run
command -v wipefs >/dev/null || skip "Cannot find wipefs, test skipped." command -v wipefs >/dev/null || skip "Cannot find wipefs, test skipped."
# REENCRYPTION tests # REENCRYPTION tests

View File

@@ -19,6 +19,10 @@ SSH_KEY_PATH="$HOME/sshtest-key"
FAST_PBKDF_OPT="--pbkdf pbkdf2 --pbkdf-force-iterations 1000" FAST_PBKDF_OPT="--pbkdf pbkdf2 --pbkdf-force-iterations 1000"
CRYPTSETUP_VALGRIND=../.libs/cryptsetup
CRYPTSETUP_SSH_VALGRIND=../.libs/cryptsetup-ssh
CRYPTSETUP_LIB_VALGRIND=../.libs
[ -z "$srcdir" ] && srcdir="." [ -z "$srcdir" ] && srcdir="."
function remove_mapping() function remove_mapping()
@@ -93,6 +97,24 @@ function skip()
exit 77 exit 77
} }
function valgrind_setup()
{
command -v valgrind >/dev/null || fail "Cannot find valgrind."
[ ! -f $CRYPTSETUP_VALGRIND ] && fail "Unable to get location of cryptsetup executable."
[ ! -f $CRYPTSETUP_SSH_VALGRIND ] && fail "Unable to get location of cryptsetup-ssh 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} "$@"
}
function valgrind_run_ssh()
{
INFOSTRING="$(basename ${BASH_SOURCE[1]})-line-${BASH_LINENO[0]}" ./valg.sh ${CRYPTSETUP_SSH_VALGRIND} "$@"
}
format() format()
{ {
dd if=/dev/zero of=$IMG bs=1M count=32 >/dev/null 2>&1 dd if=/dev/zero of=$IMG bs=1M count=32 >/dev/null 2>&1
@@ -129,6 +151,7 @@ check_dump()
} }
[ ! -x "$CRYPTSETUP" ] && skip "Cannot find $CRYPTSETUP, test skipped." [ ! -x "$CRYPTSETUP" ] && skip "Cannot find $CRYPTSETUP, test skipped."
[ -n "$VALG" ] && valgrind_setup && CRYPTSETUP=valgrind_run && CRYPTSETUP_SSH=valgrind_run_ssh
[ $(id -u) != 0 ] && skip "WARNING: You must be root to run this test, test skipped." [ $(id -u) != 0 ] && skip "WARNING: You must be root to run this test, test skipped."
# Prevent running dangerous useradd operation by default # Prevent running dangerous useradd operation by default