tests: add losetup/mount encryption test
Signed-off-by: Karel Zak <kzak@redhat.com>
This commit is contained in:
parent
61f5ff6cb4
commit
72297be6c7
|
@ -0,0 +1 @@
|
|||
Success
|
|
@ -0,0 +1,64 @@
|
|||
#!/bin/bash
|
||||
|
||||
#
|
||||
# Copyright (C) 2007 Karel Zak <kzak@redhat.com>
|
||||
#
|
||||
# This file is part of util-linux.
|
||||
#
|
||||
# This file is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This file is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
|
||||
TS_TOPDIR="$(dirname $0)/../.."
|
||||
TS_DESC="by devname"
|
||||
|
||||
. $TS_TOPDIR/functions.sh
|
||||
ts_init "$*"
|
||||
ts_skip_nonroot
|
||||
|
||||
set -o pipefail
|
||||
|
||||
modprobe --dry-run --quiet cryptoloop
|
||||
[ "$?" == 0 ] || ts_skip "missing cryptoloop module"
|
||||
|
||||
modprobe cryptoloop &> /dev/null
|
||||
|
||||
PASSFILE=$TS_OUTPUT.pwd
|
||||
IMAGE=$(ts_image_init)
|
||||
|
||||
echo "password" > $PASSFILE
|
||||
exec 9<> $PASSFILE
|
||||
|
||||
DEVICE=$($TS_CMD_LOSETUP --pass-fd 9 --show --encryption blowfish --find $IMAGE)
|
||||
[ "$?" == 0 ] || ts_die "Cannot init device"
|
||||
|
||||
mkfs.ext3 $DEVICE &> /dev/null || ts_die "Cannot make ext3 on $DEVICE" $DEVICE
|
||||
|
||||
sleep 3
|
||||
$TS_CMD_LOSETUP --detach $DEVICE
|
||||
|
||||
[ -d "$TS_MOUNTPOINT" ] || mkdir -p $TS_MOUNTPOINT
|
||||
|
||||
# reopen (we need SEEK_SET 0, but this is shell...)
|
||||
exec 9>&-
|
||||
exec 9<> $PASSFILE
|
||||
|
||||
$TS_CMD_MOUNT --pass-fd 9 -o encryption=blowfish $IMAGE $TS_MOUNTPOINT 2>&1 >> $TS_OUTPUT
|
||||
|
||||
$TS_CMD_FINDMNT --kernel --target $TS_MOUNTPOINT &> /dev/null
|
||||
[ "$?" == "0" ] || ts_die "Cannot find $TS_MOUNTPOINT in /proc/self/mountinfo"
|
||||
|
||||
$TS_CMD_UMOUNT $TS_MOUNTPOINT || ts_die "Cannot umount $TS_MOUNTPOINT" $DEVICE
|
||||
|
||||
ts_device_deinit $DEVICE
|
||||
|
||||
ts_log "Success"
|
||||
ts_finalize
|
||||
|
Loading…
Reference in New Issue