On Thu, 13 Nov 2025 19:08:04 -0600
Andrew Hamilton <[email protected]> wrote:

> Split ZFS ZSTD test into its own test script. Add a check
> to the new test script to see if the zfs utility installed
> on the host supports "zstd" compression before running the
> test and fail the test if not. It seems at least some
> zfs-fuse binaries do not support zstd compression and the current
> test will fail in that case. Splitting into a new file will avoid
> masking other test failures due to missing zstd support.
> 
> Signed-off-by: Andrew Hamilton <[email protected]>
> Reviewed-by: Daniel Kiper <[email protected]>
> ---
>  .gitignore             |  1 +
>  Makefile.util.def      |  6 ++++++
>  tests/zfs_test.in      |  1 -
>  tests/zfs_zstd_test.in | 30 ++++++++++++++++++++++++++++++
>  4 files changed, 37 insertions(+), 1 deletion(-)
>  create mode 100644 tests/zfs_zstd_test.in
> 
> diff --git a/.gitignore b/.gitignore
> index 524f2e6d0..67ad2d26d 100644
> --- a/.gitignore
> +++ b/.gitignore
> @@ -283,3 +283,4 @@ widthspec.bin
>  /xfs_test
>  /xzcompress_test
>  /zfs_test
> +/zfs_zstd_test
> diff --git a/Makefile.util.def b/Makefile.util.def
> index 91720e627..7b91c0b61 100644
> --- a/Makefile.util.def
> +++ b/Makefile.util.def
> @@ -914,6 +914,12 @@ script = {
>    common = tests/zfs_test.in;
>  };
>  
> +script = {
> +  testcase = native;
> +  name = zfs_zstd_test;
> +  common = tests/zfs_zstd_test.in;
> +};
> +
>  script = {
>    testcase = native;
>    name = cpio_test;
> diff --git a/tests/zfs_test.in b/tests/zfs_test.in
> index e1cb766a5..cd547b4d2 100644
> --- a/tests/zfs_test.in
> +++ b/tests/zfs_test.in
> @@ -19,7 +19,6 @@ fi
>  "@builddir@/grub-fs-tester" zfs_lzjb
>  "@builddir@/grub-fs-tester" zfs_gzip
>  "@builddir@/grub-fs-tester" zfs_zle
> -"@builddir@/grub-fs-tester" zfs_zstd
>  "@builddir@/grub-fs-tester" zfs_raidz3
>  "@builddir@/grub-fs-tester" zfs_raidz2
>  "@builddir@/grub-fs-tester" zfs_raidz
> diff --git a/tests/zfs_zstd_test.in b/tests/zfs_zstd_test.in
> new file mode 100644
> index 000000000..d5654d760
> --- /dev/null
> +++ b/tests/zfs_zstd_test.in
> @@ -0,0 +1,30 @@
> +#!@BUILD_SHEBANG@
> +
> +set -e
> +
> +if [ "x$EUID" = "x" ] ; then
> +  EUID=`id -u`
> +fi
> +
> +if [ "$EUID" != 0 ] ; then
> +   exit 99
> +fi
> +
> +if ! which zpool >/dev/null 2>&1; then
> +   echo "zpool not installed; cannot test zfs."
> +   exit 99
> +fi
> +
> +if ! which zfs >/dev/null 2>&1; then
> +   echo "zfs not installed; cannot test zfs."
> +   exit 99
> +fi
> +
> +# If ZFS ZSTD compression is not supported (as is the case with zfs-fuse
> +# for example at the time of writing) then fail early the ZSTD compression 
> testing.
> +if ! zfs get 2>&1 | grep -F "compression" | grep -F "zstd"; then

The last grep should have -q option. And while you're at it you can
combine the two greps into one, like grep -q -F -e compression -e zstd.

> +   echo "zfs zstd compression not supported; cannot test zfs zstd."
> +   exit 99
> +fi
> +
> +"@builddir@/grub-fs-tester" zfs_zstd

Thanks for changing these back to 99.

Glenn

_______________________________________________
Grub-devel mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/grub-devel

Reply via email to