* [PATCH v3 1/4] tests/erofs_test: Fix mkfs.erofs version test to not use process substitution bashism
2025-11-13 3:10 [PATCH v3 0/4] EROFS test fixes and improvements Glenn Washburn
@ 2025-11-13 3:10 ` Glenn Washburn
2025-11-13 19:23 ` Daniel Kiper
2025-11-13 3:10 ` [PATCH v3 2/4] tests/erofs_test: Remove root check Glenn Washburn
` (3 subsequent siblings)
4 siblings, 1 reply; 7+ messages in thread
From: Glenn Washburn @ 2025-11-13 3:10 UTC (permalink / raw)
To: grub-devel; +Cc: Daniel Kiper, Leo Sandoval, Andrew Hamilton, Glenn Washburn
The shell used to run the tests is generally /bin/sh, which does not
support process substitution.
Fixes: b990df0bef9e (tests/util/grub-fs-tester: Fix EROFS label tests in grub-fs-tester)
Signed-off-by: Glenn Washburn <development@efficientek.com>
---
tests/util/grub-fs-tester.in | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/tests/util/grub-fs-tester.in b/tests/util/grub-fs-tester.in
index 126f19a7e882..f29436d927dc 100644
--- a/tests/util/grub-fs-tester.in
+++ b/tests/util/grub-fs-tester.in
@@ -596,11 +596,12 @@ for LOGSECSIZE in $(range "$MINLOGSECSIZE" "$MAXLOGSECSIZE" 1); do
| x"minix3" | xreiserfs_old)
NOFSLABEL=y;;
x"erofs_"*)
- MKFS_EROFS_VERSION=$(mkfs.erofs -V 2>/dev/null | tr ' ' '\n' | grep '^[0-9]')
+ MKFS_EROFS_VERSION=$(mkfs.erofs 2>/dev/null | head -n 1 | (read _ V; echo $V))
# check if the version is at least 1.6
- if [ $(sort -V <(echo "$MKFS_EROFS_VERSION") <(echo "1.6") | head -n 1) != "1.6" ]; then
+ if [ "$(echo -e "${MKFS_EROFS_VERSION}\n1.6" | sort -V | head -n 1)" != "1.6" ]; then
NOFSLABEL=y
- fi
+ unset FSLABEL
+ fi;;
esac
PDIRCOMPNUM=210
--
2.34.1
_______________________________________________
Grub-devel mailing list
Grub-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/grub-devel
^ permalink raw reply related [flat|nested] 7+ messages in thread* [PATCH v3 2/4] tests/erofs_test: Remove root check
2025-11-13 3:10 [PATCH v3 0/4] EROFS test fixes and improvements Glenn Washburn
2025-11-13 3:10 ` [PATCH v3 1/4] tests/erofs_test: Fix mkfs.erofs version test to not use process substitution bashism Glenn Washburn
@ 2025-11-13 3:10 ` Glenn Washburn
2025-11-13 3:10 ` [PATCH v3 3/4] tests/erofs_test: Disable filetime check for erofs_compact Glenn Washburn
` (2 subsequent siblings)
4 siblings, 0 replies; 7+ messages in thread
From: Glenn Washburn @ 2025-11-13 3:10 UTC (permalink / raw)
To: grub-devel
Cc: Daniel Kiper, Leo Sandoval, Andrew Hamilton, Glenn Washburn,
Daniel Kiper
The erofs tests do not ever mount the generated erofs image. So root is
not needed, as with the squashfs and iso9660 filesystems.
Signed-off-by: Glenn Washburn <development@efficientek.com>
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
---
tests/erofs_test.in | 8 --------
1 file changed, 8 deletions(-)
diff --git a/tests/erofs_test.in b/tests/erofs_test.in
index 51111627acec..5b7678b1e234 100644
--- a/tests/erofs_test.in
+++ b/tests/erofs_test.in
@@ -2,14 +2,6 @@
set -e
-if [ "x$EUID" = "x" ] ; then
- EUID=`id -u`
-fi
-
-if [ "$EUID" != 0 ] ; then
- exit 99
-fi
-
if ! which mkfs.erofs >/dev/null 2>&1; then
echo "mkfs.erofs not installed; cannot test erofs."
exit 99
--
2.34.1
_______________________________________________
Grub-devel mailing list
Grub-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/grub-devel
^ permalink raw reply related [flat|nested] 7+ messages in thread* [PATCH v3 3/4] tests/erofs_test: Disable filetime check for erofs_compact
2025-11-13 3:10 [PATCH v3 0/4] EROFS test fixes and improvements Glenn Washburn
2025-11-13 3:10 ` [PATCH v3 1/4] tests/erofs_test: Fix mkfs.erofs version test to not use process substitution bashism Glenn Washburn
2025-11-13 3:10 ` [PATCH v3 2/4] tests/erofs_test: Remove root check Glenn Washburn
@ 2025-11-13 3:10 ` Glenn Washburn
2025-11-13 3:10 ` [PATCH v3 4/4] tests/erofs_test: Improve accuracy of FSTIME check Glenn Washburn
2025-11-13 17:03 ` [PATCH v3 0/4] EROFS test fixes and improvements Sudhakar Kuppusamy
4 siblings, 0 replies; 7+ messages in thread
From: Glenn Washburn @ 2025-11-13 3:10 UTC (permalink / raw)
To: grub-devel
Cc: Daniel Kiper, Leo Sandoval, Andrew Hamilton, Glenn Washburn,
Daniel Kiper
Compact EROFS inodes do not allow for modification times that are
different from FS creation times. The file modification time check is
done between the EROFS image and the file system where test temporary
files are written to, not the files as seen from the mounted EROFS image.
So its likely that the file modification time will be different, more
so when run on slower systems.
Signed-off-by: Glenn Washburn <development@efficientek.com>
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
---
tests/util/grub-fs-tester.in | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/tests/util/grub-fs-tester.in b/tests/util/grub-fs-tester.in
index f29436d927dc..ef0d7e08593e 100644
--- a/tests/util/grub-fs-tester.in
+++ b/tests/util/grub-fs-tester.in
@@ -587,6 +587,10 @@ for LOGSECSIZE in $(range "$MINLOGSECSIZE" "$MAXLOGSECSIZE" 1); do
# FS LIMITATION: romfs has no timestamps.
x"romfs")
NOFILETIME=y; NOFSTIME=y;;
+ # FS LIMITATION: Compact inodes do not allow for modification
+ # times that are different from FS creation times.
+ x"erofs_compact")
+ NOFILETIME=y;;
esac
NOFSLABEL=n
--
2.34.1
_______________________________________________
Grub-devel mailing list
Grub-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/grub-devel
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH v3 4/4] tests/erofs_test: Improve accuracy of FSTIME check
2025-11-13 3:10 [PATCH v3 0/4] EROFS test fixes and improvements Glenn Washburn
` (2 preceding siblings ...)
2025-11-13 3:10 ` [PATCH v3 3/4] tests/erofs_test: Disable filetime check for erofs_compact Glenn Washburn
@ 2025-11-13 3:10 ` Glenn Washburn
2025-11-13 17:03 ` [PATCH v3 0/4] EROFS test fixes and improvements Sudhakar Kuppusamy
4 siblings, 0 replies; 7+ messages in thread
From: Glenn Washburn @ 2025-11-13 3:10 UTC (permalink / raw)
To: grub-devel
Cc: Daniel Kiper, Leo Sandoval, Andrew Hamilton, Glenn Washburn,
Daniel Kiper
On resource constrained test runs, the last modification time on the
image is an unreliable date to check against the filesystem creation
time. Use dump.erofs to get the filesystem creation time from the
superblock. This should get the timestamp as shown by GRUB's ls -l.
Signed-off-by: Glenn Washburn <development@efficientek.com>
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
---
tests/util/grub-fs-tester.in | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/tests/util/grub-fs-tester.in b/tests/util/grub-fs-tester.in
index ef0d7e08593e..00e5e22e1793 100644
--- a/tests/util/grub-fs-tester.in
+++ b/tests/util/grub-fs-tester.in
@@ -1495,6 +1495,12 @@ for LOGSECSIZE in $(range "$MINLOGSECSIZE" "$MAXLOGSECSIZE" 1); do
# With some abstractions like mdraid flushing to disk
# may be delayed for a long time.
FSTIME="$UMOUNT_TIME";;
+ x"erofs_"*)
+ # Creating the erofs image may take more than a few
+ # seconds. Use the more accurate timestamp from the
+ # superblock.
+ FSTIME="$(dump.erofs -s "${FSIMAGEP}0.img" | grep ^"Filesystem created:" | (read _ _ REST; echo $REST) )"
+ FSTIME="$(date -d "$FSTIME" -u '+%Y-%m-%d %H:%M:%S')";;
xsquash*)
# Creating the squash image may take more than a few
# seconds. Use the more accurate timestamp from the
--
2.34.1
_______________________________________________
Grub-devel mailing list
Grub-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/grub-devel
^ permalink raw reply related [flat|nested] 7+ messages in thread* Re: [PATCH v3 0/4] EROFS test fixes and improvements
2025-11-13 3:10 [PATCH v3 0/4] EROFS test fixes and improvements Glenn Washburn
` (3 preceding siblings ...)
2025-11-13 3:10 ` [PATCH v3 4/4] tests/erofs_test: Improve accuracy of FSTIME check Glenn Washburn
@ 2025-11-13 17:03 ` Sudhakar Kuppusamy
4 siblings, 0 replies; 7+ messages in thread
From: Sudhakar Kuppusamy @ 2025-11-13 17:03 UTC (permalink / raw)
To: The development of GNU GRUB
Cc: Daniel Kiper, Leo Sandoval, Andrew Hamilton, Glenn Washburn
> On 13 Nov 2025, at 8:40 AM, Glenn Washburn <development@efficientek.com> wrote:
>
> v3:
> * Update patch #1 to include Daniel's suggestions
> v2:
> * The first patch was from the wrong branch and needed to be modified.
>
> Glenn
>
> Glenn Washburn (4):
> tests/erofs_test: Fix mkfs.erofs version test to not use process
> substitution bashism
> tests/erofs_test: Remove root check
> tests/erofs_test: Disable filetime check for erofs_compact
> tests/erofs_test: Improve accuracy of FSTIME check
>
> tests/erofs_test.in | 8 --------
> tests/util/grub-fs-tester.in | 17 ++++++++++++++---
> 2 files changed, 14 insertions(+), 11 deletions(-)
>
> Range-diff against v2:
> 1: eb61a73942f5 ! 1: 1126cf87cc17 tests/erofs_test: Fix mkfs.erofs version test to not use process substitution bashism
> @@ tests/util/grub-fs-tester.in: for LOGSECSIZE in $(range "$MINLOGSECSIZE" "$MAXLO
> NOFSLABEL=y;;
> x"erofs_"*)
> - MKFS_EROFS_VERSION=$(mkfs.erofs -V 2>/dev/null | tr ' ' '\n' | grep '^[0-9]')
> -- # check if the version is at least 1.6
> ++ MKFS_EROFS_VERSION=$(mkfs.erofs 2>/dev/null | head -n 1 | (read _ V; echo $V))
> + # check if the version is at least 1.6
> - if [ $(sort -V <(echo "$MKFS_EROFS_VERSION") <(echo "1.6") | head -n 1) != "1.6" ]; then
> -+ VER=$(mkfs.erofs 2>/dev/null | head -n1 | (read _ V; echo $V))
> -+ if [ "$(echo -e "${VER}\n1.6" | sort -V | head -n1)" != "1.6" ]; then
> ++ if [ "$(echo -e "${MKFS_EROFS_VERSION}\n1.6" | sort -V | head -n 1)" != "1.6" ]; then
> NOFSLABEL=y
> - fi
> + unset FSLABEL
> 2: a1d8b6d3b6fa = 2: 742e1e6abe49 tests/erofs_test: Remove root check
> 3: 7883a9f3b23c = 3: afbc5532b661 tests/erofs_test: Disable filetime check for erofs_compact
> 4: 9b82fc4ed65e = 4: 46dd18499a81 tests/erofs_test: Improve accuracy of FSTIME check
> --
> 2.34.1
Reviewed-by: Sudhakar Kuppusamy <sudhakar@linux.ibm.com>
Thanks,
Sudhakar
>
>
> _______________________________________________
> Grub-devel mailing list
> Grub-devel@gnu.org
> https://lists.gnu.org/mailman/listinfo/grub-devel
_______________________________________________
Grub-devel mailing list
Grub-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/grub-devel
^ permalink raw reply [flat|nested] 7+ messages in thread