[PATCH 1/3] xfs/realtime: Add require_no_realtime function

Richard Wareing
2017-09-22T02:02:42Z

Some tests do not play well with realtime devices, in an effort to
produce a stable set of test which exercise the realtime code paths
we introduce a _require_no_realtime function to allow tests to opt
out of realtime subvolume test runs.

Signed-off-by: Richard Wareing <rwareing@fb.com>
---
common/rc | 8 ++++++++
tests/generic/409 | 1 +
tests/generic/410 | 1 +
tests/generic/411 | 1 +
tests/xfs/077 | 1 +
tests/xfs/189 | 1 +
tests/xfs/191-input-validation | 1 +
tests/xfs/202 | 1 +
tests/xfs/284 | 1 +
9 files changed, 16 insertions(+)

diff --git a/common/rc b/common/rc
index cd53a37..c65b4b3 100644
--- a/common/rc
+++ b/common/rc
@@ -1829,6 +1829,14 @@ _require_realtime()
_notrun "Realtime device required, skipped this test"
}

+# This test requires that a realtime subvolume is not in use
+#
+_require_no_realtime()
+{
+ [ -n "$SCRATCH_RTDEV" ] && \
+ _notrun "Test not compatible with realtime subvolumes, skipped this test"
+}
+
# this test requires that a specified command (executable) exists
# $1 - command, $2 - name for error message
#
diff --git a/tests/generic/409 b/tests/generic/409
index 3ad65c9..8ed3e4e 100755
--- a/tests/generic/409
+++ b/tests/generic/409
@@ -65,6 +65,7 @@ _supported_os Linux
_require_test
_require_scratch
_require_local_device $SCRATCH_DEV
+_require_no_realtime

fs_stress()
{
diff --git a/tests/generic/410 b/tests/generic/410
index 63ab716..1bbaff8 100755
--- a/tests/generic/410
+++ b/tests/generic/410
@@ -73,6 +73,7 @@ _supported_os Linux
_require_test
_require_scratch
_require_local_device $SCRATCH_DEV
+_require_no_realtime

fs_stress()
{
diff --git a/tests/generic/411 b/tests/generic/411
index 83f6d26..ea718fc 100755
--- a/tests/generic/411
+++ b/tests/generic/411
@@ -54,6 +54,7 @@ _supported_os Linux
_require_test
_require_scratch
_require_local_device $SCRATCH_DEV
+_require_no_realtime

fs_stress()
{
diff --git a/tests/xfs/077 b/tests/xfs/077
index eba4f08..d202fa4 100755
--- a/tests/xfs/077
+++ b/tests/xfs/077
@@ -50,6 +50,7 @@ _cleanup()

_supported_fs xfs
_supported_os Linux
+_require_no_realtime
_require_scratch
_require_xfs_crc
_require_meta_uuid
diff --git a/tests/xfs/189 b/tests/xfs/189
index 636f6f0..699eb3c 100755
--- a/tests/xfs/189
+++ b/tests/xfs/189
@@ -236,6 +236,7 @@ _putback_scratch_fstab()
_supported_fs xfs
_supported_os Linux

+_require_no_realtime
_require_scratch
_require_noattr2

diff --git a/tests/xfs/191-input-validation b/tests/xfs/191-input-validation
index cff3efa..764ac9b 100755
--- a/tests/xfs/191-input-validation
+++ b/tests/xfs/191-input-validation
@@ -47,6 +47,7 @@ _cleanup()
# Modify as appropriate.
_supported_fs xfs
_supported_os Linux
+_require_no_realtime
_require_scratch
_require_xfs_mkfs_validation

diff --git a/tests/xfs/202 b/tests/xfs/202
index b9827a7..f887873 100755
--- a/tests/xfs/202
+++ b/tests/xfs/202
@@ -38,6 +38,7 @@ status=1 # failure is the default!
_supported_fs xfs
_supported_os Linux

+_require_no_realtime
# single AG will cause default xfs_repair to fail. This test is actually
# testing the special corner case option needed to repair a single AG fs.
_require_scratch_nocheck
diff --git a/tests/xfs/284 b/tests/xfs/284
index e3625fe..fa5dac8 100755
--- a/tests/xfs/284
+++ b/tests/xfs/284
@@ -49,6 +49,7 @@ rm -f $seqres.full
# real QA test starts here
_supported_fs xfs
_supported_os Linux
+_require_no_realtime
_require_test
_require_scratch

--
2.9.5