On Thu, 6 Nov 2025 21:41:37 -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 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 <[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..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 > + echo "zpool not installed; cannot test zfs." > + exit 77 > +fi > + > +if ! which zfs >/dev/null 2>&1; then > + echo "zfs not installed; cannot test zfs." > + exit 77 > +fi > + > +# If OpenZFS is not installed (only zfs-fuse for example) then > +# skip ZSTD compression testing. This is kind of misleading as a comment. Its really, "If the ZFS implementation does not support ZSTD compression, for example zfs-fuse, then fail early." OpenZFS just happens to be the only ZFS implementation that currently supports ZSTD compression. And this might not even be true, do Solaris implementations support ZSTD? A quick search suggests yes. Now running tests is only officially on Debian (as of now), but I don't think this comment needs to take that as an assumption. > +if ! zfs get 2>&1 | grep -F "compression" | grep -F "zstd"; then > + echo "zfs zstd compression not supported; cannot test zfs zstd." > + exit 77 These should be reverted to return 99. I explained in a reply to the v4 patch. Apologize for not catching this sooner. Glenn > +fi > + > +"@builddir@/grub-fs-tester" zfs_zstd _______________________________________________ Grub-devel mailing list [email protected] https://lists.gnu.org/mailman/listinfo/grub-devel
