grub-devel.gnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3 0/3] Fix Several Test Failures
@ 2025-08-26 21:54 Andrew Hamilton
  2025-08-26 21:54 ` [PATCH v3 1/3] tests: Split ZFS ZSTD Test Into New File Andrew Hamilton
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Andrew Hamilton @ 2025-08-26 21:54 UTC (permalink / raw)
  To: grub-devel; +Cc: daniel.kiper, Andrew Hamilton

Correct several test failures observed while running GRUB 'make check'
on Debian 13. The test failures fixed here are:

1. ZFS ZSTD - Test was failing zfs_test due to lack of support in
zfs-fuse for zstd compression. This specific test case was split
into a new test file allowing skipping / erroring the test if zstd is
not supported to avoid masking other possible (future) zfs test failures.
2. Correct test failure in erofs_test in newer Linux distros caused
by a change in mkfs.erofs to limit the maximum file system label
length to 15 characters. Reduce the label used for testing to work
within this limit.
3. Correct test failure in ext234_test in newer Linux distros caused
by a change in e2fsprogs that removed the ability to set "version 0"
ext2 file systems using the "-r" flag. Instead a new flag is added
to support this. Update the test to support the old method in older
distros and the new method in newer distros.

Changes since v2:
- Change return code from 77 to 99 in zstd test

Changes since v1:
- Remove unrelated changes to .gitignore

Andrew Hamilton (3):
  tests: Split ZFS ZSTD Test Into New File
  tests: Avoid Test Failure in erofs for label length
  tests: Support Changed mkfs.ext2 Behavior for -r Flag

 .gitignore                   |  1 +
 Makefile.util.def            |  6 ++++++
 tests/util/grub-fs-tester.in | 13 ++++++++++---
 tests/zfs_test.in            |  1 -
 tests/zfs_zstd_test.in       | 30 ++++++++++++++++++++++++++++++
 5 files changed, 47 insertions(+), 4 deletions(-)
 create mode 100644 tests/zfs_zstd_test.in

-- 
2.39.5


_______________________________________________
Grub-devel mailing list
Grub-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/grub-devel

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [PATCH v3 1/3] tests: Split ZFS ZSTD Test Into New File
  2025-08-26 21:54 [PATCH v3 0/3] Fix Several Test Failures Andrew Hamilton
@ 2025-08-26 21:54 ` Andrew Hamilton
  2025-08-26 21:54 ` [PATCH v3 2/3] tests: Avoid Test Failure in erofs for label length Andrew Hamilton
  2025-08-26 21:54 ` [PATCH v3 3/3] tests: Support Changed mkfs.ext2 Behavior for -r Flag Andrew Hamilton
  2 siblings, 0 replies; 4+ messages in thread
From: Andrew Hamilton @ 2025-08-26 21:54 UTC (permalink / raw)
  To: grub-devel; +Cc: daniel.kiper, Andrew Hamilton

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 <adhamilt@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..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.39.5


_______________________________________________
Grub-devel mailing list
Grub-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/grub-devel

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [PATCH v3 2/3] tests: Avoid Test Failure in erofs for label length
  2025-08-26 21:54 [PATCH v3 0/3] Fix Several Test Failures Andrew Hamilton
  2025-08-26 21:54 ` [PATCH v3 1/3] tests: Split ZFS ZSTD Test Into New File Andrew Hamilton
@ 2025-08-26 21:54 ` Andrew Hamilton
  2025-08-26 21:54 ` [PATCH v3 3/3] tests: Support Changed mkfs.ext2 Behavior for -r Flag Andrew Hamilton
  2 siblings, 0 replies; 4+ messages in thread
From: Andrew Hamilton @ 2025-08-26 21:54 UTC (permalink / raw)
  To: grub-devel; +Cc: daniel.kiper, Andrew Hamilton

Recently, mkfs.erofs began to enforce that the file system
label is 15 characters or less (exluding NULL terminator).
This causes the current erofs test in GRUB to fail. Reduce
the test label used to fit in this limit allowing the test
to work as expected.

Signed-off-by: Andrew Hamilton <adhamilt@gmail.com>
---
 tests/util/grub-fs-tester.in | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/tests/util/grub-fs-tester.in b/tests/util/grub-fs-tester.in
index cac58dafa..23f72dd35 100644
--- a/tests/util/grub-fs-tester.in
+++ b/tests/util/grub-fs-tester.in
@@ -386,9 +386,12 @@ for LOGSECSIZE in $(range "$MINLOGSECSIZE" "$MAXLOGSECSIZE" 1); do
 		    FSLABEL="g;/_é䏌䐓䏕䎛䎾䏴кит u"
 		    #FSLABEL="g;/_é莭莽😁кит u"
 		    ;;
-		# FS LIMITATION: reiserfs, extN, jfs and erofs label is at most 16 UTF-8 characters
-		x"reiserfs_old" | x"reiserfs" | x"ext"* | x"lvm"* | x"luks"* | x"mdraid"* | x"jfs" | x"jfs_caseins" | x"erofs_"*)
+		# FS LIMITATION: reiserfs, extN, and jfs label is at most 16 UTF-8 characters
+		x"reiserfs_old" | x"reiserfs" | x"ext"* | x"lvm"* | x"luks"* | x"mdraid"* | x"jfs" | x"jfs_caseins")
 		    FSLABEL="g;/éт 莭😁";;
+		# FS LIMITATION: erofs label is at most 15 UTF-8 characters
+		x"erofs_"*)
+		    FSLABEL="g;/é 莭😁";;
 		# FS LIMITATION: No underscore, space, semicolon, slash or international characters in UFS* in label. Limited to 32 UTF-8 characters
 		x"ufs1" | x"ufs1_sun" | x"ufs2")
 		    FSLABEL="grubtest""ieurrucnenreeiurueurewf";;
-- 
2.39.5


_______________________________________________
Grub-devel mailing list
Grub-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/grub-devel

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [PATCH v3 3/3] tests: Support Changed mkfs.ext2 Behavior for -r Flag
  2025-08-26 21:54 [PATCH v3 0/3] Fix Several Test Failures Andrew Hamilton
  2025-08-26 21:54 ` [PATCH v3 1/3] tests: Split ZFS ZSTD Test Into New File Andrew Hamilton
  2025-08-26 21:54 ` [PATCH v3 2/3] tests: Avoid Test Failure in erofs for label length Andrew Hamilton
@ 2025-08-26 21:54 ` Andrew Hamilton
  2 siblings, 0 replies; 4+ messages in thread
From: Andrew Hamilton @ 2025-08-26 21:54 UTC (permalink / raw)
  To: grub-devel; +Cc: daniel.kiper, Andrew Hamilton

Correct nuisance ext234_test failure on newer Linux
distros.

Recently, the mkfs.ext2 utility removed support for the
-r flag to specify old (version 0) formats of ext2. A
new flag was added to allow the same behavior. Support
both ways of specifying version 0 ext2 file systems
when testing ext2 in GRUB.

Signed-off-by: Andrew Hamilton <adhamilt@gmail.com>
---
 tests/util/grub-fs-tester.in | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/tests/util/grub-fs-tester.in b/tests/util/grub-fs-tester.in
index 23f72dd35..c4af16d51 100644
--- a/tests/util/grub-fs-tester.in
+++ b/tests/util/grub-fs-tester.in
@@ -874,7 +874,11 @@ for LOGSECSIZE in $(range "$MINLOGSECSIZE" "$MAXLOGSECSIZE" 1); do
 		xnilfs2)
 		    "mkfs.nilfs2" -L "$FSLABEL" -b $BLKSIZE  -q "${MOUNTDEVICE}" ;;
 		xext2_old)
-		    MKE2FS_DEVICE_SECTSIZE=$SECSIZE "mkfs.ext2" -r 0 -b $BLKSIZE -L "$FSLABEL" -q "${MOUNTDEVICE}"
+		    if "mkfs.ext2" -r 0 2>&1 | grep -F "the -r option has been removed"; then
+			MKE2FS_DEVICE_SECTSIZE=$SECSIZE "mkfs.ext2" -E revision=0 -b $BLKSIZE -L "$FSLABEL" -q "${MOUNTDEVICE}"
+		    else
+			MKE2FS_DEVICE_SECTSIZE=$SECSIZE "mkfs.ext2" -r 0 -b $BLKSIZE -L "$FSLABEL" -q "${MOUNTDEVICE}"
+		    fi
 		    MOUNTFS=ext2
 		    ;;
 		xext4_metabg)
-- 
2.39.5


_______________________________________________
Grub-devel mailing list
Grub-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/grub-devel

^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2025-08-26 21:55 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-08-26 21:54 [PATCH v3 0/3] Fix Several Test Failures Andrew Hamilton
2025-08-26 21:54 ` [PATCH v3 1/3] tests: Split ZFS ZSTD Test Into New File Andrew Hamilton
2025-08-26 21:54 ` [PATCH v3 2/3] tests: Avoid Test Failure in erofs for label length Andrew Hamilton
2025-08-26 21:54 ` [PATCH v3 3/3] tests: Support Changed mkfs.ext2 Behavior for -r Flag Andrew Hamilton

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).