diff mbox series

common/rc, ceph: skip ceph/001-ceph/003 if test_dummy_encryption is enabled

Message ID 20211216124752.13768-1-jlayton@kernel.org (mailing list archive)
State New, archived
Headers show
Series common/rc, ceph: skip ceph/001-ceph/003 if test_dummy_encryption is enabled | expand

Commit Message

Jeff Layton Dec. 16, 2021, 12:47 p.m. UTC
Some tests on ceph require changing the layout of new files, which is
forbidden when the files are encrypted. Skip these tests if the
test_dummy_encryption mount option is being used.

Generalize the _exclude_scratch_mount_option code and add a new
_exclude_test_mount_option call as well. Call the new function from the
ceph tests that should exclude test_dummy_encryption.

Cc: Luis Henriques <lhenriques@suse.de>
Signed-off-by: Jeff Layton <jlayton@kernel.org>
---
 common/rc      | 18 ++++++++++++++----
 tests/ceph/001 |  1 +
 tests/ceph/002 |  1 +
 tests/ceph/003 |  1 +
 4 files changed, 17 insertions(+), 4 deletions(-)

Comments

Eric Biggers Dec. 19, 2021, 2:59 a.m. UTC | #1
On Thu, Dec 16, 2021 at 07:47:52AM -0500, Jeff Layton wrote:
> Some tests on ceph require changing the layout of new files, which is
> forbidden when the files are encrypted. Skip these tests if the
> test_dummy_encryption mount option is being used.
> 
> Generalize the _exclude_scratch_mount_option code and add a new
> _exclude_test_mount_option call as well. Call the new function from the
> ceph tests that should exclude test_dummy_encryption.
> 
> Cc: Luis Henriques <lhenriques@suse.de>
> Signed-off-by: Jeff Layton <jlayton@kernel.org>
> ---
>  common/rc      | 18 ++++++++++++++----
>  tests/ceph/001 |  1 +
>  tests/ceph/002 |  1 +
>  tests/ceph/003 |  1 +
>  4 files changed, 17 insertions(+), 4 deletions(-)
> 
> diff --git a/common/rc b/common/rc
> index 7973ceb5fdf8..312ebea8fb57 100644
> --- a/common/rc
> +++ b/common/rc
> @@ -3844,14 +3844,14 @@ _require_cloner()
>  # "opt1 opt2 opt3"
>  _normalize_mount_options()
>  {
> -	echo $MOUNT_OPTIONS | sed -n 's/-o\s*\(\S*\)/\1/gp'| sed 's/,/ /g'
> +	echo "$1" | sed -n 's/-o\s*\(\S*\)/\1/gp'| sed 's/,/ /g'
>  }

Doesn't this break the call to _normalize_mount_options() in common/btrfs?

>  
> -# skip test if MOUNT_OPTIONS contains the given strings
> +# skip test if $2 contains the given strings in $1
>  # Both dax and dax=always are excluded if dax or dax=always is passed
> -_exclude_scratch_mount_option()
> +_exclude_mount_option()
>  {
> -	local mnt_opts=$(_normalize_mount_options)
> +	local mnt_opts=$(_normalize_mount_options "$2")
>  
>  	while [ $# -gt 0 ]; do
>  		local pattern=$1
> @@ -3864,6 +3864,16 @@ _exclude_scratch_mount_option()
>  	done
>  }

This function already uses all positional arguments, so using $2 isn't valid.

- Eric
diff mbox series

Patch

diff --git a/common/rc b/common/rc
index 7973ceb5fdf8..312ebea8fb57 100644
--- a/common/rc
+++ b/common/rc
@@ -3844,14 +3844,14 @@  _require_cloner()
 # "opt1 opt2 opt3"
 _normalize_mount_options()
 {
-	echo $MOUNT_OPTIONS | sed -n 's/-o\s*\(\S*\)/\1/gp'| sed 's/,/ /g'
+	echo "$1" | sed -n 's/-o\s*\(\S*\)/\1/gp'| sed 's/,/ /g'
 }
 
-# skip test if MOUNT_OPTIONS contains the given strings
+# skip test if $2 contains the given strings in $1
 # Both dax and dax=always are excluded if dax or dax=always is passed
-_exclude_scratch_mount_option()
+_exclude_mount_option()
 {
-	local mnt_opts=$(_normalize_mount_options)
+	local mnt_opts=$(_normalize_mount_options "$2")
 
 	while [ $# -gt 0 ]; do
 		local pattern=$1
@@ -3864,6 +3864,16 @@  _exclude_scratch_mount_option()
 	done
 }
 
+_exclude_scratch_mount_option()
+{
+	_exclude_mount_option "$1" "$MOUNT_OPTIONS"
+}
+
+_exclude_test_mount_option()
+{
+	_exclude_mount_option "$1" "$TEST_FS_MOUNT_OPTS"
+}
+
 _require_atime()
 {
 	_exclude_scratch_mount_option "noatime"
diff --git a/tests/ceph/001 b/tests/ceph/001
index c00de308fd95..5a828567d500 100755
--- a/tests/ceph/001
+++ b/tests/ceph/001
@@ -22,6 +22,7 @@  _begin_fstest auto quick copy_range
 _supported_fs ceph
 
 _require_xfs_io_command "copy_range"
+_exclude_test_mount_option "test_dummy_encryption"
 _require_attrs
 _require_test
 
diff --git a/tests/ceph/002 b/tests/ceph/002
index 9bc728fd2e18..ac3d65b529bd 100755
--- a/tests/ceph/002
+++ b/tests/ceph/002
@@ -30,6 +30,7 @@  _begin_fstest auto quick copy_range
 _supported_fs ceph
 
 _require_xfs_io_command "copy_range"
+_exclude_test_mount_option "test_dummy_encryption"
 _require_attrs
 _require_test
 
diff --git a/tests/ceph/003 b/tests/ceph/003
index faedb48cfeea..2d6cb393b3f6 100755
--- a/tests/ceph/003
+++ b/tests/ceph/003
@@ -18,6 +18,7 @@  _begin_fstest auto quick copy_range
 _supported_fs ceph
 
 _require_xfs_io_command "copy_range"
+_exclude_test_mount_option "test_dummy_encryption"
 _require_attrs
 _require_test