aboutsummaryrefslogtreecommitdiff
path: root/cli-tests
diff options
context:
space:
mode:
Diffstat (limited to 'cli-tests')
-rw-r--r--cli-tests/common.sh12
-rwxr-xr-xcli-tests/t_v1_policy.sh1
2 files changed, 13 insertions, 0 deletions
diff --git a/cli-tests/common.sh b/cli-tests/common.sh
index fcebfd6..79b42ae 100644
--- a/cli-tests/common.sh
+++ b/cli-tests/common.sh
@@ -128,6 +128,18 @@ _user_do_and_expect_failure()
_expect_failure "_user_do '$1'"
}
+# Clear the test user's user keyring and unlink it from root's user keyring, if
+# it is linked into it.
+_cleanup_user_keyrings()
+{
+ local ringid
+
+ ringid=$(_user_do "keyctl show @u" | awk '/keyring: _uid/{print $1}')
+
+ _user_do "keyctl clear $ringid"
+ keyctl unlink "$ringid" @u &> /dev/null || true
+}
+
# Gives the test a new session keyring which contains the test user's keyring
# but not root's keyring. Also clears the test user's keyring. This must be
# called at the beginning of the test script as it may re-execute the script.
diff --git a/cli-tests/t_v1_policy.sh b/cli-tests/t_v1_policy.sh
index e9f3acf..e883dcd 100755
--- a/cli-tests/t_v1_policy.sh
+++ b/cli-tests/t_v1_policy.sh
@@ -6,6 +6,7 @@ cd "$(dirname "$0")"
. common.sh
_setup_session_keyring
+trap _cleanup_user_keyrings EXIT
dir="$MNT/dir"
mkdir "$dir"