File 0001-TEST-02-CRYPTSETUP-adapt-for-openQA.patch of Package systemd-v245-testsuite
From ff7df4975eb826b1b57b164bad3c46b78c4f66c5 Mon Sep 17 00:00:00 2001
From: Elisei Roca <eroca@suse.de>
Date: Fri, 8 May 2020 19:31:09 +0200
Subject: [PATCH] TEST-02-CRYPTSETUP: adapt for openQA
---
test/TEST-02-CRYPTSETUP/test.sh | 95 ++++++++++++++++-----------------
1 file changed, 46 insertions(+), 49 deletions(-)
diff --git a/test/TEST-02-CRYPTSETUP/test.sh b/test/TEST-02-CRYPTSETUP/test.sh
index a859b345d0..79f8a1e4f4 100755
--- a/test/TEST-02-CRYPTSETUP/test.sh
+++ b/test/TEST-02-CRYPTSETUP/test.sh
@@ -3,87 +3,84 @@ set -e
TEST_DESCRIPTION="cryptsetup systemd setup"
TEST_NO_NSPAWN=1
+export TEST_BASE_DIR="/var/opt/systemd-tests/test/"
. $TEST_BASE_DIR/test-functions
-check_result_qemu() {
- ret=1
- mkdir -p $initdir
- mount ${LOOPDEV}p1 $initdir
- [[ -e $initdir/testok ]] && ret=0
- [[ -f $initdir/failed ]] && cp -a $initdir/failed $TESTDIR
- cryptsetup luksOpen ${LOOPDEV}p2 varcrypt <$TESTDIR/keyfile
- mount /dev/mapper/varcrypt $initdir/var
- cp -a $initdir/var/log/journal $TESTDIR
- umount $initdir/var
- umount $initdir
- cryptsetup luksClose /dev/mapper/varcrypt
- [[ -f $TESTDIR/failed ]] && cat $TESTDIR/failed
- ls -l $TESTDIR/journal/*/*.journal
- test -s $TESTDIR/failed && ret=$(($ret+1))
- return $ret
-}
+test_setup() {
+ mkdir -p $TESTDIR/root
+ initdir=$TESTDIR/root
+ STRIP_BINARIES=no
+ sfdisk --force "/dev/vdb" <<EOF
+,2000M
+,
+EOF
-test_setup() {
- create_empty_image_rootdir
echo -n test >$TESTDIR/keyfile
- cryptsetup -q luksFormat --pbkdf pbkdf2 --pbkdf-force-iterations 1000 ${LOOPDEV}p2 $TESTDIR/keyfile
- cryptsetup luksOpen ${LOOPDEV}p2 varcrypt <$TESTDIR/keyfile
- mkfs.ext4 -L var /dev/mapper/varcrypt
- mkdir -p $initdir/var
- mount /dev/mapper/varcrypt $initdir/var
+ cryptsetup -q luksFormat /dev/vdb1 $TESTDIR/keyfile
+ cryptsetup luksOpen /dev/vdb1 varcrypt <$TESTDIR/keyfile
+ mkfs.ext3 -L var /dev/mapper/varcrypt
+ sed -i 's/ \/var / \/mnt /' /etc/fstab
- # Create what will eventually be our root filesystem onto an overlay
(
LOG_LEVEL=5
eval $(udevadm info --export --query=env --name=/dev/mapper/varcrypt)
- eval $(udevadm info --export --query=env --name=${LOOPDEV}p2)
-
- setup_basic_environment
- mask_supporting_services
+ eval $(udevadm info --export --query=env --name=/dev/vdb1)
# setup the testsuite service
- cat >$initdir/etc/systemd/system/testsuite.service <<EOF
+ cat >/etc/systemd/system/testsuite.service <<EOF
[Unit]
Description=Testsuite service
After=multi-user.target
[Service]
-ExecStart=/bin/sh -x -c 'systemctl --state=failed --no-legend --no-pager > /failed ; echo OK > /testok'
+ExecStart=/bin/sh -e -x -c 'systemctl --state=failed --no-pager > /failed ; systemctl daemon-reload ; echo SUSEtest OK > /testok'
+ExecStartPost=/bin/sh -x -c "cat /proc/mounts | /usr/bin/sed -n '/ \/var /p' >> /testok"
Type=oneshot
EOF
- setup_testsuite
-
- install_dmevent
- generate_module_dependencies
- cat >$initdir/etc/crypttab <<EOF
+ cat >/etc/crypttab <<EOF
$DM_NAME UUID=$ID_FS_UUID /etc/varkey
EOF
- echo -n test > $initdir/etc/varkey
- cat $initdir/etc/crypttab | ddebug
+ echo -n test > /etc/varkey
+ cat /etc/crypttab | ddebug
- cat >>$initdir/etc/fstab <<EOF
+ cat >>/etc/fstab <<EOF
/dev/mapper/varcrypt /var ext4 defaults 0 1
EOF
)
+
+ mount /dev/mapper/varcrypt /mnt
+ cp -avr /var/* /mnt
+ umount /mnt
+ cryptsetup luksClose /dev/mapper/varcrypt
+
+ mask_supporting_services
}
-cleanup_root_var() {
- ddebug "umount $initdir/var"
- mountpoint $initdir/var && umount $initdir/var
- [[ -b /dev/mapper/varcrypt ]] && cryptsetup luksClose /dev/mapper/varcrypt
+test_run() {
+ systemctl daemon-reload
+ systemctl start testsuite.service || return 1
+ ret=1
+ test -s /failed && ret=$(($ret+1))
+ [[ -e /testok ]] && ret=0
+ return $ret
}
test_cleanup() {
- # ignore errors, so cleanup can continue
- cleanup_root_var || :
_test_cleanup
-}
+ sed -i '/varcrypt/d' /etc/fstab
+ sed -i 's/ \/mnt / \/var /' /etc/fstab
+
+ rm /etc/systemd/system/testsuite.service
+ [[ -e /testok ]] && rm /testok
+ [[ -e /failed ]] && rm /failed
-test_setup_cleanup() {
- cleanup_root_var
- _test_setup_cleanup
+ rm -rf /mnt/tmp/systemd-test.*
+ rm -f /etc/varkey
+ rm -f /etc/crypttab
+ dd if=/dev/zero of=/dev/vdb count=100
+ return 0
}
do_test "$@"
--
2.26.2