blob: afc0d3ec8f67c269c46f6d2d3686174bdafb6978 [file] [log] [blame] [edit]
#!/bin/bash
. ../../../prepare.inc.sh
. ../../../toolbox.inc.sh
# ---- do the actual testing ----
if [ $have_key_invalidate = 0 ]
then
toolbox_skip_test $TEST "SKIPPING DUE TO LACK OF KEY INVALIDATION"
exit 0
fi
result=PASS
echo "++++ BEGINNING TEST" >$OUTPUTFILE
# create a keyring and attach it to the session keyring
marker "ADD KEYRING"
create_keyring wibble @s
expect_keyid keyringid
# check that we have an empty keyring
marker "LIST KEYRING"
list_keyring $keyringid
expect_keyring_rlist rlist empty
# stick a key in the keyring
marker "ADD KEY"
create_key user lizard gizzard $keyringid
expect_keyid keyid
# check that we can list it
marker "LIST KEYRING 2"
list_keyring $keyringid
expect_keyring_rlist rlist $keyid
# invalidate the key
marker "INVALIDATE KEY"
invalidate_key $keyid
# need to wait for the gc
sleep 1
# check that it's now empty again
marker "LIST KEYRING 3"
list_keyring $keyringid
expect_keyring_rlist rlist empty
# stick another key in the keyring
marker "ADD KEY"
create_key user lizard2 gizzard $keyringid
expect_keyid keyid
# check that we can list it
marker "LIST KEYRING 4"
list_keyring $keyringid
expect_keyring_rlist rlist $keyid
# invalidate the keyring
marker "INVALIDATE KEYRING"
invalidate_key $keyringid
# need to wait for the gc
sleep 1
# check that the keyring no longer exists
marker "CHECK KEYRING"
list_keyring --fail $keyringid
expect_error ENOKEY
# check that the key got gc'd also
marker "CHECK KEY"
describe_key --fail $keyid
expect_error ENOKEY
echo "++++ FINISHED TEST: $result" >>$OUTPUTFILE
# --- then report the results in the database ---
toolbox_report_result $TEST $result