test: Use capabilities query function in test scripts
Signed-off-by: David Howells <dhowells@redhat.com>
diff --git a/tests/prepare.inc.sh b/tests/prepare.inc.sh
index 9c4adda..448e42b 100644
--- a/tests/prepare.inc.sh
+++ b/tests/prepare.inc.sh
@@ -70,47 +70,53 @@
esac
fi
-#
-# Work out whether key invalidation is supported by the kernel
-#
have_key_invalidate=0
-if keyutils_at_or_later_than 1.5.6 && kernel_at_or_later_than 3.5-rc1
-then
- have_key_invalidate=1
-fi
-
-#
-# Work out whether the big_key type is supported by the kernel
-#
have_big_key_type=0
-if [ $OSDIST = RHEL ] && ! version_less_than $OSRELEASE 7
-then
- # big_key is backported to 3.10 for RHEL-7
- have_big_key_type=1
-elif kernel_at_or_later_than 3.13-rc1
-then
- have_big_key_type=1
-fi
-
-#
-# Work out whether Diffie-Hellman is supported by the kernel
-#
have_dh_compute=0
-if [ $OSDIST = RHEL ]
-then
- :
-elif keyutils_at_or_later_than 1.5.10 && kernel_at_or_later_than 4.7-rc1
-then
- have_dh_compute=1
-fi
-
-#
-# Work out whether keyring restrictions are supported by the kernel
-#
have_restrict_keyring=0
-if keyutils_at_or_later_than 1.6 && kernel_at_or_later_than 4.12-rc1
+
+if keyctl supports capabilities >&/dev/null
then
- have_restrict_keyring=1
+ eval `keyctl supports`
+else
+ #
+ # Work out whether key invalidation is supported by the kernel
+ #
+ if keyutils_at_or_later_than 1.5.6 && kernel_at_or_later_than 3.5-rc1
+ then
+ have_key_invalidate=1
+ fi
+
+ #
+ # Work out whether the big_key type is supported by the kernel.
+ #
+ if [ $OSDIST = RHEL ] && ! version_less_than $OSRELEASE 7
+ then
+ # big_key is backported to 3.10 for RHEL-7
+ have_big_key_type=1
+ elif kernel_at_or_later_than 3.13-rc1
+ then
+ have_big_key_type=1
+ fi
+
+ #
+ # Work out whether Diffie-Hellman is supported by the kernel
+ #
+ if [ $OSDIST = RHEL ]
+ then
+ :
+ elif keyutils_at_or_later_than 1.5.10 && kernel_at_or_later_than 4.7-rc1
+ then
+ have_dh_compute=1
+ fi
+
+ #
+ # Work out whether keyring restrictions are supported by the kernel
+ #
+ if keyutils_at_or_later_than 1.6 && kernel_at_or_later_than 4.12-rc1
+ then
+ have_restrict_keyring=1
+ fi
fi
#