* [PATCH v2 0/3] Fix Several Test Failures
@ 2025-08-26 0:28 Andrew Hamilton
2025-08-26 0:28 ` [PATCH v2 1/3] tests: Split ZFS ZSTD Test Into New File Andrew Hamilton
` (2 more replies)
0 siblings, 3 replies; 6+ messages in thread
From: Andrew Hamilton @ 2025-08-26 0:28 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 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 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] 6+ messages in thread* [PATCH v2 1/3] tests: Split ZFS ZSTD Test Into New File 2025-08-26 0:28 [PATCH v2 0/3] Fix Several Test Failures Andrew Hamilton @ 2025-08-26 0:28 ` Andrew Hamilton 2025-08-26 3:30 ` Glenn Washburn 2025-08-26 0:28 ` [PATCH v2 2/3] tests: Avoid Test Failure in erofs for label length Andrew Hamilton 2025-08-26 0:28 ` [PATCH v2 3/3] tests: Support Changed mkfs.ext2 Behavior for -r Flag Andrew Hamilton via Grub-devel 2 siblings, 1 reply; 6+ messages in thread From: Andrew Hamilton @ 2025-08-26 0:28 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 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..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 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 +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] 6+ messages in thread
* Re: [PATCH v2 1/3] tests: Split ZFS ZSTD Test Into New File 2025-08-26 0:28 ` [PATCH v2 1/3] tests: Split ZFS ZSTD Test Into New File Andrew Hamilton @ 2025-08-26 3:30 ` Glenn Washburn 2025-08-26 15:37 ` Andrew Hamilton 0 siblings, 1 reply; 6+ messages in thread From: Glenn Washburn @ 2025-08-26 3:30 UTC (permalink / raw) To: Andrew Hamilton; +Cc: The development of GNU GRUB, daniel.kiper On Mon, 25 Aug 2025 19:28:24 -0500 Andrew Hamilton <adhamilt@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 <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..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 ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v2 1/3] tests: Split ZFS ZSTD Test Into New File 2025-08-26 3:30 ` Glenn Washburn @ 2025-08-26 15:37 ` Andrew Hamilton 0 siblings, 0 replies; 6+ messages in thread From: Andrew Hamilton @ 2025-08-26 15:37 UTC (permalink / raw) To: development; +Cc: The development of GNU GRUB, daniel.kiper Thank you for the review. > 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). Ok, I didn't realize this was the expected behavior in a case like this, I will make this change tonight in a v3. Thanks! Andrew On Mon, Aug 25, 2025 at 10:31 PM Glenn Washburn <development@efficientek.com> wrote: > > On Mon, 25 Aug 2025 19:28:24 -0500 > Andrew Hamilton <adhamilt@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 <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..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 ^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH v2 2/3] tests: Avoid Test Failure in erofs for label length 2025-08-26 0:28 [PATCH v2 0/3] Fix Several Test Failures Andrew Hamilton 2025-08-26 0:28 ` [PATCH v2 1/3] tests: Split ZFS ZSTD Test Into New File Andrew Hamilton @ 2025-08-26 0:28 ` Andrew Hamilton 2025-08-26 0:28 ` [PATCH v2 3/3] tests: Support Changed mkfs.ext2 Behavior for -r Flag Andrew Hamilton via Grub-devel 2 siblings, 0 replies; 6+ messages in thread From: Andrew Hamilton @ 2025-08-26 0:28 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] 6+ messages in thread
* [PATCH v2 3/3] tests: Support Changed mkfs.ext2 Behavior for -r Flag 2025-08-26 0:28 [PATCH v2 0/3] Fix Several Test Failures Andrew Hamilton 2025-08-26 0:28 ` [PATCH v2 1/3] tests: Split ZFS ZSTD Test Into New File Andrew Hamilton 2025-08-26 0:28 ` [PATCH v2 2/3] tests: Avoid Test Failure in erofs for label length Andrew Hamilton @ 2025-08-26 0:28 ` Andrew Hamilton via Grub-devel 2 siblings, 0 replies; 6+ messages in thread From: Andrew Hamilton via Grub-devel @ 2025-08-26 0:28 UTC (permalink / raw) To: grub-devel; +Cc: Andrew Hamilton, daniel.kiper 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] 6+ messages in thread
end of thread, other threads:[~2025-08-26 15:38 UTC | newest] Thread overview: 6+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2025-08-26 0:28 [PATCH v2 0/3] Fix Several Test Failures Andrew Hamilton 2025-08-26 0:28 ` [PATCH v2 1/3] tests: Split ZFS ZSTD Test Into New File Andrew Hamilton 2025-08-26 3:30 ` Glenn Washburn 2025-08-26 15:37 ` Andrew Hamilton 2025-08-26 0:28 ` [PATCH v2 2/3] tests: Avoid Test Failure in erofs for label length Andrew Hamilton 2025-08-26 0:28 ` [PATCH v2 3/3] tests: Support Changed mkfs.ext2 Behavior for -r Flag Andrew Hamilton via Grub-devel
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).