tests: Split ZFS ZSTD test into new file

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 <adhamilt@gmail.com>
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
Reviewed-by: Glenn Washburn <development@efficientek.com>
This commit is contained in:
Andrew Hamilton 2025-11-14 17:40:08 -06:00 committed by Daniel Kiper
parent ea0b76dc4a
commit a04171b4d2
4 changed files with 37 additions and 1 deletions

1
.gitignore vendored
View File

@ -283,3 +283,4 @@ widthspec.bin
/xfs_test
/xzcompress_test
/zfs_test
/zfs_zstd_test

View File

@ -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;

View File

@ -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

30
tests/zfs_zstd_test.in Normal file
View File

@ -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 -q "compression.*zstd"; then
echo "zfs zstd compression not supported; cannot test zfs zstd."
exit 99
fi
"@builddir@/grub-fs-tester" zfs_zstd