aboutsummaryrefslogtreecommitdiff
path: root/cli-tests/t_status.sh
blob: cfc36168d43c95565e812a76e9f4499588fa578f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
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'"