diff options
author | David Howells <dhowells@redhat.com> | 2011-09-01 11:01:35 +0100 |
---|---|---|
committer | David Howells <dhowells@redhat.com> | 2011-11-15 18:44:33 +0000 |
commit | c4db5306bdc1cb81a0e4cd5208a749015bfbc99a (patch) | |
tree | 194e52204b7dbfe173ac6ae574cc6b0326b10028 | |
parent | 13229fc1b048aef136b8e2ecad2484e7ba74b676 (diff) | |
download | keyutils-c4db5306bdc1cb81a0e4cd5208a749015bfbc99a.tar.gz |
TEST: Allow non-root user run
Allow non-root users to run the testsuite to completion successfully. In such
a case, check that chown and chgrp tests fail with EACCES rather than
completing successfully and warn the invoker that they should run this as root.
Signed-off-by: David Howells <dhowells@redhat.com>
-rw-r--r-- | tests/keyctl/permitting/valid/runtest.sh | 21 | ||||
-rw-r--r-- | tests/runtest.sh | 13 |
2 files changed, 30 insertions, 4 deletions
diff --git a/tests/keyctl/permitting/valid/runtest.sh b/tests/keyctl/permitting/valid/runtest.sh index e90e398..30f8633 100644 --- a/tests/keyctl/permitting/valid/runtest.sh +++ b/tests/keyctl/permitting/valid/runtest.sh @@ -25,6 +25,12 @@ then marker "CHOWN" chown_key --fail $keyid 1 expect_error EOPNOTSUPP +elif [ `id -u` != 0 ] +then + # must be running as root for this to work + marker "CHOWN" + chown_key --fail $keyid 1 + expect_error EACCES else marker "CHOWN" chown_key $keyid 1 @@ -34,10 +40,17 @@ else fi # changing the key's group ownership is supported (change to "bin" group) -marker "CHGRP" -chgrp_key $keyid 1 -describe_key $keyid -expect_key_rdesc rdesc "user@.*@1@[0-9a-f]*@lizard" +if [ `id -u` != 0 ] +then + marker "CHGRP" + chgrp_key --fail $keyid 1 + expect_error EACCES +else + marker "CHGRP" + chgrp_key $keyid 1 + describe_key $keyid + expect_key_rdesc rdesc "user@.*@1@[0-9a-f]*@lizard" +fi # check that each permission can be granted to the key marker "ITERATE PERMISSIONS" diff --git a/tests/runtest.sh b/tests/runtest.sh index 7fd6e5b..d9ea65d 100644 --- a/tests/runtest.sh +++ b/tests/runtest.sh @@ -4,9 +4,22 @@ TESTS=$* PARENTTEST=${TEST} +if [ `id -u` != 0 ] +then + echo "#### Some tests require root privileges." >&2 + echo "#### It is recommended that this be run as root." >&2 +fi + for i in ${TESTS}; do export TEST=$i pushd $i sh ./runtest.sh || exit 1 popd done + +if [ `id -u` != 0 ] +then + echo "#### Some tests required root privileges." >&2 + echo "#### They have been tested for the appropriate failure." >&2 + echo "#### It is recommended that this be run as root." >&2 +fi |