aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Howells <dhowells@redhat.com>2011-09-01 11:01:35 +0100
committerDavid Howells <dhowells@redhat.com>2011-11-15 18:44:33 +0000
commitc4db5306bdc1cb81a0e4cd5208a749015bfbc99a (patch)
tree194e52204b7dbfe173ac6ae574cc6b0326b10028
parent13229fc1b048aef136b8e2ecad2484e7ba74b676 (diff)
downloadkeyutils-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.sh21
-rw-r--r--tests/runtest.sh13
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