diff options
| author | Eric Biggers <ebiggers@google.com> | 2020-05-09 14:04:47 -0700 |
|---|---|---|
| committer | Eric Biggers <ebiggers@google.com> | 2020-05-09 14:04:47 -0700 |
| commit | 754b66a738b9593c9901180a4bdeccc3d80d3e9f (patch) | |
| tree | 17843b58a5ccde397195f5c050cd7c90de9386f5 /cli-tests | |
| parent | 1df60cfa342f7b5801031b007dba60d6538ccfbd (diff) | |
cli-tests: add t_status
Test getting global, filesystem, and unencrypted directory status when
the filesystem is or isn't set up for fscrypt.
Diffstat (limited to 'cli-tests')
| -rw-r--r-- | cli-tests/t_status.out | 44 | ||||
| -rwxr-xr-x | cli-tests/t_status.sh | 56 |
2 files changed, 100 insertions, 0 deletions
diff --git a/cli-tests/t_status.out b/cli-tests/t_status.out new file mode 100644 index 0000000..b036712 --- /dev/null +++ b/cli-tests/t_status.out @@ -0,0 +1,44 @@ + +# Get status of setup mountpoint via global status +ext4 supported Yes +ext4 supported Yes + +# Get status of setup mountpoint +ext4 filesystem "MNT" has 0 protectors and 0 policies + +ext4 filesystem "MNT" has 0 protectors and 0 policies + + +# Get status of unencrypted directory on setup mountpoint +[ERROR] fscrypt status: get encryption policy MNT/dir: file + or directory not encrypted +[ERROR] fscrypt status: get encryption policy MNT/dir: file + or directory not encrypted + +# Remove fscrypt metadata from MNT + +# Check enabled / setup count again + +# Get status of not-setup mounntpoint via global status +ext4 supported No +ext4 supported No + +# Get status of not-setup mountpoint +[ERROR] fscrypt status: filesystem MNT: not setup for use + with fscrypt + +Run "fscrypt setup MOUNTPOINT" to use fscrypt on this filesystem. +[ERROR] fscrypt status: filesystem MNT: not setup for use + with fscrypt + +Run "fscrypt setup MOUNTPOINT" to use fscrypt on this filesystem. + +# Get status of unencrypted directory on not-setup mountpoint +[ERROR] fscrypt status: filesystem MNT: not setup for use + with fscrypt + +Run "fscrypt setup MOUNTPOINT" to use fscrypt on this filesystem. +[ERROR] fscrypt status: filesystem MNT: not setup for use + with fscrypt + +Run "fscrypt setup MOUNTPOINT" to use fscrypt on this filesystem. diff --git a/cli-tests/t_status.sh b/cli-tests/t_status.sh new file mode 100755 index 0000000..cfc3616 --- /dev/null +++ b/cli-tests/t_status.sh @@ -0,0 +1,56 @@ +#!/bin/bash + +# Test getting global, filesystem, and unencrypted directory status +# when the filesystem is or isn't set up for fscrypt. + +cd "$(dirname "$0")" +. common.sh + +dir="$MNT/dir" +mkdir "$dir" + +filter_mnt_status() +{ + awk '$1 == "'"$MNT"'" { print $3, $4, $5 }' +} + +# Initially, $MNT has encryption enabled and fscrypt setup. + +enabled_count1=$(_get_enabled_fs_count) +setup_count1=$(_get_setup_fs_count) + + +_print_header "Get status of setup mountpoint via global status" +fscrypt status | filter_mnt_status +_user_do "fscrypt status" | filter_mnt_status + +_print_header "Get status of setup mountpoint" +fscrypt status "$MNT" +_user_do "fscrypt status '$MNT'" + +_print_header "Get status of unencrypted directory on setup mountpoint" +_expect_failure "fscrypt status '$dir'" +_user_do_and_expect_failure "fscrypt status '$dir'" + +_print_header "Remove fscrypt metadata from $MNT" +_rm_metadata "$MNT" + +# Now, $MNT has encryption enabled but fscrypt *not* setup. + +_print_header "Check enabled / setup count again" +enabled_count2=$(_get_enabled_fs_count) +setup_count2=$(_get_setup_fs_count) +(( enabled_count2 == enabled_count1 )) || _fail "wrong enabled count" +(( setup_count2 == setup_count1 - 1 )) || _fail "wrong setup count" + +_print_header "Get status of not-setup mounntpoint via global status" +fscrypt status | filter_mnt_status +_user_do "fscrypt status" | filter_mnt_status + +_print_header "Get status of not-setup mountpoint" +_expect_failure "fscrypt status '$MNT'" +_user_do_and_expect_failure "fscrypt status '$MNT'" + +_print_header "Get status of unencrypted directory on not-setup mountpoint" +_expect_failure "fscrypt status '$dir'" +_user_do_and_expect_failure "fscrypt status '$dir'" |