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 <[email protected]>
---
 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
[email protected]
https://lists.gnu.org/mailman/listinfo/grub-devel

Reply via email to