TEST: Fix a couple of RHEL checks:
(1) The maximum description size patch is not yet applied to RHEL-7, so
that change only applies to RHEL-6, not RHEL-6 and everything after.
(2) There was a change in error reporting behaviour that got introduced in
v3.8 upstream and was fixed in v3.13. RHEL-7 was forked off of
v3.10.0, so it had the problem - but the fix has been backported, so
we need to adjust the version check.
Signed-off-by: David Howells <dhowells@redhat.com>
diff --git a/tests/keyctl/timeout/valid/runtest.sh b/tests/keyctl/timeout/valid/runtest.sh
index 06f9fc4..4d772bb 100644
--- a/tests/keyctl/timeout/valid/runtest.sh
+++ b/tests/keyctl/timeout/valid/runtest.sh
@@ -52,7 +52,8 @@
# check the key has expired
marker "CHECK NO READ PAYLOAD"
print_key --fail $keyid
-if kernel_at_or_later_than 3.8 && kernel_older_than 3.13
+if kernel_at_or_later_than 3.8 && kernel_older_than 3.13 &&
+ ! rhel7_kernel_at_or_later_than 3.10.0-42.el7
then
expect_error ENOKEY
else
@@ -106,7 +107,8 @@
# listing the session keyring should fail
marker "CHECK NO LIST SESSION KEYRING"
list_keyring --fail $keyringid
-if kernel_at_or_later_than 3.8 && kernel_older_than 3.13
+if kernel_at_or_later_than 3.8 && kernel_older_than 3.13 &&
+ ! rhel7_kernel_at_or_later_than 3.10.0-42.el7
then
expect_error ENOKEY
else
diff --git a/tests/toolbox.inc.sh b/tests/toolbox.inc.sh
index e1ec033..f2463c5 100644
--- a/tests/toolbox.inc.sh
+++ b/tests/toolbox.inc.sh
@@ -36,7 +36,7 @@
if kernel_at_or_later_than 3.18
then
maxdesc=$string4095
-elif [ $OSDIST = RHEL ] && kernel_at_or_later_than 2.6.32-589.el6
+elif rhel6_kernel_at_or_later_than 2.6.32-589.el6
then
maxdesc=$string4095
else
diff --git a/tests/version.inc.sh b/tests/version.inc.sh
index 3c1b802..3630c5a 100644
--- a/tests/version.inc.sh
+++ b/tests/version.inc.sh
@@ -161,3 +161,39 @@
{
! kernel_older_than $1
}
+
+###############################################################################
+#
+# Return true if the kernel being tested is a RHEL-6 kernel and is at or later
+# than the given version.
+#
+###############################################################################
+function rhel6_kernel_at_or_later_than ()
+{
+ case $OSDIST-$OSRELEASE in
+ RHEL-6.*)
+ ! kernel_older_than $1
+ ;;
+ *)
+ false
+ ;;
+ esac
+}
+
+###############################################################################
+#
+# Return true if the kernel being tested is a RHEL-7 kernel and is at or later
+# than the given version.
+#
+###############################################################################
+function rhel7_kernel_at_or_later_than ()
+{
+ case $OSDIST-$OSRELEASE in
+ RHEL-7.*)
+ ! kernel_older_than $1
+ ;;
+ *)
+ false
+ ;;
+ esac
+}