public inbox for grub-devel@gnu.org
 help / color / mirror / Atom feed
* [PATCH v2 0/4] EROFS test fixes and improvements
@ 2025-11-10  3:56 Glenn Washburn
  2025-11-10  3:56 ` [PATCH v2 1/4] tests/erofs_test: Fix mkfs.erofs version test to not use process substitution bashism Glenn Washburn
                   ` (4 more replies)
  0 siblings, 5 replies; 7+ messages in thread
From: Glenn Washburn @ 2025-11-10  3:56 UTC (permalink / raw)
  To: grub-devel; +Cc: Daniel Kiper, Leo Sandoval, Andrew Hamilton, Glenn Washburn

v2 updates:
 * 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 | 18 ++++++++++++++----
 2 files changed, 14 insertions(+), 12 deletions(-)

-- 
2.34.1


_______________________________________________
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

* [PATCH v2 1/4] tests/erofs_test: Fix mkfs.erofs version test to not use process substitution bashism
  2025-11-10  3:56 [PATCH v2 0/4] EROFS test fixes and improvements Glenn Washburn
@ 2025-11-10  3:56 ` Glenn Washburn
  2025-11-12 21:07   ` Daniel Kiper
  2025-11-10  3:56 ` [PATCH v2 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-10  3:56 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 | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/tests/util/grub-fs-tester.in b/tests/util/grub-fs-tester.in
index cac58dafa8ad..106edfa8a0f4 100644
--- a/tests/util/grub-fs-tester.in
+++ b/tests/util/grub-fs-tester.in
@@ -596,11 +596,11 @@ 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]')
-		    # 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
 			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 v2 2/4] tests/erofs_test: Remove root check
  2025-11-10  3:56 [PATCH v2 0/4] EROFS test fixes and improvements Glenn Washburn
  2025-11-10  3:56 ` [PATCH v2 1/4] tests/erofs_test: Fix mkfs.erofs version test to not use process substitution bashism Glenn Washburn
@ 2025-11-10  3:56 ` Glenn Washburn
  2025-11-10  3:56 ` [PATCH v2 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-10  3:56 UTC (permalink / raw)
  To: grub-devel; +Cc: Daniel Kiper, Leo Sandoval, Andrew Hamilton, Glenn Washburn

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>
---
 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 v2 3/4] tests/erofs_test: Disable filetime check for erofs_compact
  2025-11-10  3:56 [PATCH v2 0/4] EROFS test fixes and improvements Glenn Washburn
  2025-11-10  3:56 ` [PATCH v2 1/4] tests/erofs_test: Fix mkfs.erofs version test to not use process substitution bashism Glenn Washburn
  2025-11-10  3:56 ` [PATCH v2 2/4] tests/erofs_test: Remove root check Glenn Washburn
@ 2025-11-10  3:56 ` Glenn Washburn
  2025-11-10  3:56 ` [PATCH v2 4/4] tests/erofs_test: Improve accuracy of FSTIME check Glenn Washburn
  2025-11-12 21:23 ` [PATCH v2 0/4] EROFS test fixes and improvements Daniel Kiper
  4 siblings, 0 replies; 7+ messages in thread
From: Glenn Washburn @ 2025-11-10  3:56 UTC (permalink / raw)
  To: grub-devel; +Cc: Daniel Kiper, Leo Sandoval, Andrew Hamilton, Glenn Washburn

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>
---
 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 106edfa8a0f4..325e02546006 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 v2 4/4] tests/erofs_test: Improve accuracy of FSTIME check
  2025-11-10  3:56 [PATCH v2 0/4] EROFS test fixes and improvements Glenn Washburn
                   ` (2 preceding siblings ...)
  2025-11-10  3:56 ` [PATCH v2 3/4] tests/erofs_test: Disable filetime check for erofs_compact Glenn Washburn
@ 2025-11-10  3:56 ` Glenn Washburn
  2025-11-12 21:23 ` [PATCH v2 0/4] EROFS test fixes and improvements Daniel Kiper
  4 siblings, 0 replies; 7+ messages in thread
From: Glenn Washburn @ 2025-11-10  3:56 UTC (permalink / raw)
  To: grub-devel; +Cc: Daniel Kiper, Leo Sandoval, Andrew Hamilton, Glenn Washburn

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>
---
 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 325e02546006..d4fe3f014084 100644
--- a/tests/util/grub-fs-tester.in
+++ b/tests/util/grub-fs-tester.in
@@ -1488,6 +1488,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 v2 1/4] tests/erofs_test: Fix mkfs.erofs version test to not use process substitution bashism
  2025-11-10  3:56 ` [PATCH v2 1/4] tests/erofs_test: Fix mkfs.erofs version test to not use process substitution bashism Glenn Washburn
@ 2025-11-12 21:07   ` Daniel Kiper
  0 siblings, 0 replies; 7+ messages in thread
From: Daniel Kiper @ 2025-11-12 21:07 UTC (permalink / raw)
  To: Glenn Washburn; +Cc: grub-devel, Leo Sandoval, Andrew Hamilton

On Sun, Nov 09, 2025 at 09:56:29PM -0600, Glenn Washburn wrote:
> 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 | 8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/tests/util/grub-fs-tester.in b/tests/util/grub-fs-tester.in
> index cac58dafa8ad..106edfa8a0f4 100644
> --- a/tests/util/grub-fs-tester.in
> +++ b/tests/util/grub-fs-tester.in
> @@ -596,11 +596,11 @@ 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]')
> -		    # check if the version is at least 1.6

Why do you drop this comment?

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

I would avoid here so generic name as VER. So, s/VER/MKFS_EROFS_VERSION/...

s/head -n1/head -n 1/

> +		    if [ "$(echo -e "${VER}\n1.6" | sort -V | head -n1)" != "1.6" ]; then

s/head -n1/head -n 1/

>  			NOFSLABEL=y
> -		    fi
> +			unset FSLABEL
> +		    fi;;
>  	    esac

Daniel

_______________________________________________
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

* Re: [PATCH v2 0/4] EROFS test fixes and improvements
  2025-11-10  3:56 [PATCH v2 0/4] EROFS test fixes and improvements Glenn Washburn
                   ` (3 preceding siblings ...)
  2025-11-10  3:56 ` [PATCH v2 4/4] tests/erofs_test: Improve accuracy of FSTIME check Glenn Washburn
@ 2025-11-12 21:23 ` Daniel Kiper
  4 siblings, 0 replies; 7+ messages in thread
From: Daniel Kiper @ 2025-11-12 21:23 UTC (permalink / raw)
  To: Glenn Washburn; +Cc: grub-devel, Leo Sandoval, Andrew Hamilton

On Sun, Nov 09, 2025 at 09:56:28PM -0600, Glenn Washburn wrote:
> v2 updates:
>  * 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

For all but first one Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>...

Daniel

_______________________________________________
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

end of thread, other threads:[~2025-11-12 21:59 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-11-10  3:56 [PATCH v2 0/4] EROFS test fixes and improvements Glenn Washburn
2025-11-10  3:56 ` [PATCH v2 1/4] tests/erofs_test: Fix mkfs.erofs version test to not use process substitution bashism Glenn Washburn
2025-11-12 21:07   ` Daniel Kiper
2025-11-10  3:56 ` [PATCH v2 2/4] tests/erofs_test: Remove root check Glenn Washburn
2025-11-10  3:56 ` [PATCH v2 3/4] tests/erofs_test: Disable filetime check for erofs_compact Glenn Washburn
2025-11-10  3:56 ` [PATCH v2 4/4] tests/erofs_test: Improve accuracy of FSTIME check Glenn Washburn
2025-11-12 21:23 ` [PATCH v2 0/4] EROFS test fixes and improvements Daniel Kiper

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox