summaryrefslogtreecommitdiff
path: root/tests/keyctl/permitting/bad-args/runtest.sh
blob: 69c1271aec8e6ef39ac759a082d9d0b199062268 (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
#!/bin/bash

. ../../../prepare.inc.sh
. ../../../toolbox.inc.sh


# ---- do the actual testing ----

result=PASS
echo "++++ BEGINNING TEST" >$OUTPUTFILE

# check that a bad key ID fails correctly
marker "CHECK BAD KEY ID"
chown_key --fail 0 0
expect_error EINVAL
chgrp_key --fail 0 0
expect_error EINVAL
set_key_perm --fail 0 0
expect_error EINVAL

# create a non-keyring
marker "CREATE KEY"
create_key --new=keyid user lizard gizzard @s

# check that unsupported permissions aren't permitted
marker "CHECK PERMS"
set_key_perm --fail $keyid 0xffffffff
expect_error EINVAL
set_key_perm --fail $keyid 0x7f7f7f7f
expect_error EINVAL

# dispose of the key we just made
marker "UNLINK KEY"
unlink_key --wait $keyid @s

# check that a non-existent key ID fails correctly
marker "CHECK CLEAR NON-EXISTENT KEY ID"
chown_key --fail $keyid 0
expect_error ENOKEY
chgrp_key --fail $keyid 0
expect_error ENOKEY
set_key_perm --fail $keyid 0
expect_error ENOKEY

echo "++++ FINISHED TEST: $result" >>$OUTPUTFILE

# --- then report the results in the database ---
toolbox_report_result $TEST $result