On Mon, 25 Aug 2025 19:28:24 -0500 Andrew Hamilton <adham...@gmail.com> 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 skip 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 <adham...@gmail.com> > --- > .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 038253b37..703e8c08d 100644 > --- a/Makefile.util.def > +++ b/Makefile.util.def > @@ -911,6 +911,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 0d0a57f7d..58cc25b22 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..1b8a20212 > --- /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 Use builtin command -v instead of which. > + 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 OpenZFS is not installed (only zfs-fuse for example) then > +# skip ZSTD compression testing. > +if ! zfs get 2>&1 | grep -F "compression" | grep -F "zstd"; then > + echo "zfs zstd compression not supported; cannot test zfs zstd." > + exit 77 This should exit 99 for hard error, which means that the test failed due to some reason that was not an actual failure (eg. because the test couldn't be run because of some environmental reason). Glenn > +fi > + > +"@builddir@/grub-fs-tester" zfs_zstd _______________________________________________ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel