]>
Commit | Line | Data |
---|---|---|
ff12a795 | 1 | #!/usr/bin/env bash |
818567fc | 2 | set -e |
71dc3ed1 | 3 | TEST_DESCRIPTION="cryptsetup systemd setup" |
8c3534b5 | 4 | IMAGE_NAME="cryptsetup" |
054ee249 | 5 | TEST_NO_NSPAWN=1 |
71dc3ed1 | 6 | |
fff87a35 | 7 | . $TEST_BASE_DIR/test-functions |
71dc3ed1 | 8 | |
889a9042 | 9 | check_result_qemu() { |
71dc3ed1 | 10 | ret=1 |
1506edca | 11 | mount_initdir |
0036ce06 DS |
12 | [[ -e $initdir/testok ]] && ret=0 |
13 | [[ -f $initdir/failed ]] && cp -a $initdir/failed $TESTDIR | |
71dc3ed1 | 14 | cryptsetup luksOpen ${LOOPDEV}p2 varcrypt <$TESTDIR/keyfile |
0036ce06 DS |
15 | mount /dev/mapper/varcrypt $initdir/var |
16 | cp -a $initdir/var/log/journal $TESTDIR | |
eb1290ef | 17 | rm -r $initdir/var/log/journal/* |
1506edca ZJS |
18 | _umount_dir $initdir/var |
19 | _umount_dir $initdir | |
71dc3ed1 | 20 | cryptsetup luksClose /dev/mapper/varcrypt |
889a9042 | 21 | [[ -f $TESTDIR/failed ]] && cat $TESTDIR/failed |
71dc3ed1 LP |
22 | ls -l $TESTDIR/journal/*/*.journal |
23 | test -s $TESTDIR/failed && ret=$(($ret+1)) | |
24 | return $ret | |
25 | } | |
26 | ||
8c3534b5 | 27 | test_create_image() { |
ec4cab49 | 28 | create_empty_image_rootdir |
71dc3ed1 | 29 | echo -n test >$TESTDIR/keyfile |
5b69d297 | 30 | cryptsetup -q luksFormat --pbkdf pbkdf2 --pbkdf-force-iterations 1000 ${LOOPDEV}p2 $TESTDIR/keyfile |
71dc3ed1 | 31 | cryptsetup luksOpen ${LOOPDEV}p2 varcrypt <$TESTDIR/keyfile |
4b742c8a | 32 | mkfs.ext4 -L var /dev/mapper/varcrypt |
0036ce06 DS |
33 | mkdir -p $initdir/var |
34 | mount /dev/mapper/varcrypt $initdir/var | |
71dc3ed1 LP |
35 | |
36 | # Create what will eventually be our root filesystem onto an overlay | |
37 | ( | |
38 | LOG_LEVEL=5 | |
71dc3ed1 LP |
39 | eval $(udevadm info --export --query=env --name=/dev/mapper/varcrypt) |
40 | eval $(udevadm info --export --query=env --name=${LOOPDEV}p2) | |
41 | ||
889a9042 | 42 | setup_basic_environment |
51fa8591 | 43 | mask_supporting_services |
056ae881 | 44 | |
889a9042 | 45 | install_dmevent |
1a6dc653 | 46 | generate_module_dependencies |
889a9042 RC |
47 | cat >$initdir/etc/crypttab <<EOF |
48 | $DM_NAME UUID=$ID_FS_UUID /etc/varkey | |
71dc3ed1 | 49 | EOF |
5964e39a | 50 | echo -n test >$initdir/etc/varkey |
889a9042 | 51 | cat $initdir/etc/crypttab | ddebug |
71dc3ed1 | 52 | |
889a9042 | 53 | cat >>$initdir/etc/fstab <<EOF |
4b742c8a | 54 | /dev/mapper/varcrypt /var ext4 defaults 0 1 |
889a9042 | 55 | EOF |
cc469c3d | 56 | ) |
ec4cab49 | 57 | } |
71dc3ed1 | 58 | |
ec4cab49 | 59 | cleanup_root_var() { |
0036ce06 DS |
60 | ddebug "umount $initdir/var" |
61 | mountpoint $initdir/var && umount $initdir/var | |
ec4cab49 | 62 | [[ -b /dev/mapper/varcrypt ]] && cryptsetup luksClose /dev/mapper/varcrypt |
71dc3ed1 LP |
63 | } |
64 | ||
65 | test_cleanup() { | |
f85bc044 | 66 | # ignore errors, so cleanup can continue |
65dd488f | 67 | cleanup_root_var || : |
ec4cab49 DS |
68 | _test_cleanup |
69 | } | |
70 | ||
71 | test_setup_cleanup() { | |
ec43f686 ZJS |
72 | cleanup_root_var || : |
73 | cleanup_initdir | |
71dc3ed1 LP |
74 | } |
75 | ||
5964e39a | 76 | do_test "$@" 02 |