summaryrefslogtreecommitdiff
path: root/tests/keyctl/move/bad-args/runtest.sh
blob: b1c7e669b45f9c828b07f43e99e56b1518428a17 (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
57
58
59
60
61
62
#!/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 MOVE OF BAD KEY ID"
move_key --fail 0 @u @s
expect_error EINVAL

marker "CHECK MOVE FROM BAD KEYRING ID"
move_key --fail @u 0 @s
expect_error EINVAL

marker "CHECK MOVE TO BAD KEYRING ID"
move_key --fail @u @s 0
expect_error EINVAL

marker "CHECK FORCED MOVE OF BAD KEY ID"
move_key --fail -f 0 @u @s
expect_error EINVAL

marker "CHECK FORCED MOVE FROM BAD KEYRING ID"
move_key --fail -f @u 0 @s
expect_error EINVAL

marker "CHECK FORCED MOVE TO BAD KEYRING ID"
move_key --fail -f @u @s 0
expect_error EINVAL

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

marker "CREATE KEY2"
create_key --new=keyid2 user zebra stripes @s

# check that linking to a non-keyring ID fails correctly
marker "CHECK MOVE FROM NON-KEYRING KEY"
move_key --fail $keyid $keyid2 @s
expect_error ENOTDIR

marker "CHECK MOVE TO NON-KEYRING KEY"
move_key --fail $keyid @s $keyid2
expect_error ENOTDIR

# dispose of the keys we were using
marker "UNLINK KEY"
unlink_key --wait $keyid @s
marker "UNLINK KEY2"
unlink_key --wait $keyid2 @s

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

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