mirror of
https://github.com/libguestfs/libguestfs.git
synced 2026-03-21 22:53:37 +00:00
112 lines
2.4 KiB
Bash
Executable File
112 lines
2.4 KiB
Bash
Executable File
#!/bin/bash -
|
|
# libguestfs
|
|
# Copyright (C) 2011 Red Hat Inc.
|
|
#
|
|
# This program 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 program 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.
|
|
#
|
|
# You should have received a copy of the GNU General Public License
|
|
# along with this program; if not, write to the Free Software
|
|
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
|
|
|
# Test LUKS devices appear in the output of list-dm-devices.
|
|
|
|
set -e
|
|
|
|
[ -n "$SKIP_TEST_LUKS_SH" ] && {
|
|
echo "test-luks-list.sh skipped (environment variable set)"
|
|
exit 0
|
|
}
|
|
|
|
rm -f test1.img test.output
|
|
|
|
../fish/guestfish --keys-from-stdin > test.output <<'EOF'
|
|
sparse test1.img 1G
|
|
run
|
|
part-init /dev/sda mbr
|
|
part-add /dev/sda p 64 1048575
|
|
part-add /dev/sda p 1048576 -64
|
|
|
|
# Create LUKS device with key "key0" in slot 0.
|
|
luks-format /dev/sda1 0
|
|
key0
|
|
|
|
# Create some unrelated LVs.
|
|
pvcreate /dev/sda2
|
|
vgcreate VG /dev/sda2
|
|
lvcreate LV1 /dev/VG 100
|
|
lvcreate LV2 /dev/VG 200
|
|
lvcreate LV3 /dev/VG 100
|
|
|
|
# Open the device as 'lukstest'.
|
|
luks-open /dev/sda1 lukstest
|
|
key0
|
|
|
|
# List devices, '/dev/mapper/lukstest' should appear.
|
|
echo test 1
|
|
list-dm-devices
|
|
|
|
# Close the device.
|
|
luks-close /dev/mapper/lukstest
|
|
|
|
# List devices, '/dev/mapper/lukstest' should not appear.
|
|
echo test 2
|
|
list-dm-devices
|
|
|
|
# Open the device again.
|
|
luks-open /dev/sda1 lukstest
|
|
key0
|
|
|
|
# Check no LVs appear in list-dm-devices output.
|
|
echo test 3
|
|
list-dm-devices
|
|
|
|
# Check LUKS device doesn't appear in any of the other lists.
|
|
echo test 4
|
|
list-devices | sed 's,^/dev/[hv]d,/dev/sd,'
|
|
echo test 5
|
|
list-partitions | sed 's,^/dev/[hv]d,/dev/sd,'
|
|
echo test 6
|
|
lvs
|
|
echo test 7
|
|
vgs
|
|
echo test 8
|
|
pvs | sed 's,^/dev/[hv]d,/dev/sd,'
|
|
|
|
EOF
|
|
|
|
# Expected vs actual output.
|
|
if [ "$(cat test.output)" != "\
|
|
test 1
|
|
/dev/mapper/lukstest
|
|
test 2
|
|
test 3
|
|
/dev/mapper/lukstest
|
|
test 4
|
|
/dev/sda
|
|
test 5
|
|
/dev/sda1
|
|
/dev/sda2
|
|
test 6
|
|
/dev/VG/LV1
|
|
/dev/VG/LV2
|
|
/dev/VG/LV3
|
|
test 7
|
|
VG
|
|
test 8
|
|
/dev/sda2" ]; then
|
|
echo "test-luks-list.sh: Unexpected output from test:"
|
|
cat test.output
|
|
echo "[end of output]"
|
|
exit 1
|
|
fi
|
|
|
|
rm -f test1.img test.output
|