[PATCH v4 1/3] tests: Split ZFS ZSTD Test Into New File

Andrew Hamilton <[email protected]>
Newsgroups org.gnu.grub-devel
Message-ID <[email protected]>
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 / error-out 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]>
---
 .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 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..fa187b061
--- /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 OpenZFS is not installed (only zfs-fuse for example) then
+# report fail for 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 99
+fi
+
+"@builddir@/grub-fs-tester" zfs_zstd
-- 
2.43.0


_______________________________________________
Grub-devel mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/grub-devel
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.