3 TEST_DESCRIPTION
="cryptsetup systemd setup"
6 .
$TEST_BASE_DIR/test-functions
11 mount
${LOOPDEV}p1
$initdir
12 [[ -e $initdir/testok
]] && ret
=0
13 [[ -f $initdir/failed
]] && cp -a $initdir/failed
$TESTDIR
14 cryptsetup luksOpen
${LOOPDEV}p2 varcrypt
<$TESTDIR/keyfile
15 mount
/dev
/mapper
/varcrypt
$initdir/var
16 cp -a $initdir/var
/log
/journal
$TESTDIR
19 cryptsetup luksClose
/dev
/mapper
/varcrypt
20 [[ -f $TESTDIR/failed
]] && cat $TESTDIR/failed
21 ls -l $TESTDIR/journal
/*/*.journal
22 test -s $TESTDIR/failed
&& ret
=$
(($ret+1))
28 create_empty_image_rootdir
29 echo -n test >$TESTDIR/keyfile
30 cryptsetup
-q luksFormat
--pbkdf pbkdf2
--pbkdf-force-iterations 1000 ${LOOPDEV}p2
$TESTDIR/keyfile
31 cryptsetup luksOpen
${LOOPDEV}p2 varcrypt
<$TESTDIR/keyfile
32 mkfs.ext4
-L var
/dev
/mapper
/varcrypt
34 mount
/dev
/mapper
/varcrypt
$initdir/var
36 # Create what will eventually be our root filesystem onto an overlay
39 eval $
(udevadm info
--export --query=env
--name=/dev
/mapper
/varcrypt
)
40 eval $
(udevadm info
--export --query=env
--name=${LOOPDEV}p2
)
42 setup_basic_environment
43 mask_supporting_services
45 # setup the testsuite service
46 cat >$initdir/etc
/systemd
/system
/testsuite.service
<<EOF
48 Description=Testsuite service
49 After=multi-user.target
52 ExecStart=/bin/sh -x -c 'systemctl --state=failed --no-legend --no-pager > /failed ; echo OK > /testok'
59 generate_module_dependencies
60 cat >$initdir/etc
/crypttab
<<EOF
61 $DM_NAME UUID=$ID_FS_UUID /etc/varkey
63 echo -n test > $initdir/etc
/varkey
64 cat $initdir/etc
/crypttab | ddebug
66 cat >>$initdir/etc
/fstab
<<EOF
67 /dev/mapper/varcrypt /var ext4 defaults 0 1
73 ddebug
"umount $initdir/var"
74 mountpoint
$initdir/var
&& umount
$initdir/var
75 [[ -b /dev
/mapper
/varcrypt
]] && cryptsetup luksClose
/dev
/mapper
/varcrypt
79 # ignore errors, so cleanup can continue
84 test_setup_cleanup
() {