From 65a46e9e219f6f4f4f12107a08cf34f03edbbaed Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Mon, 15 Jul 2024 18:53:46 -0700 Subject: [PATCH] tests: port to noatime file systems On these file systems the atime is always zero. Problem found with ZFS on Ubuntu 24.04 LTS. * tests/stat/stat-birthtime.sh (check_timestamps_updated): * tests/stat/stat-nanoseconds.sh: Work even if atimes are always zero. * tests/stat/stat-nanoseconds.sh: Fix typo: print_ver_ called before init.sh sourced. --- tests/stat/stat-birthtime.sh | 2 +- tests/stat/stat-nanoseconds.sh | 28 ++++++++++++++-------------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/tests/stat/stat-birthtime.sh b/tests/stat/stat-birthtime.sh index 17a270e15b..de39eaed93 100755 --- a/tests/stat/stat-birthtime.sh +++ b/tests/stat/stat-birthtime.sh @@ -42,7 +42,7 @@ check_timestamps_updated() touch a || fail=1 test "x$btime" = x$(stat --format %W a) && - test "x$atime" != x$(stat --format %X a) && + { test "x$atime" != x$(stat --format %X a) || test "x$atime" = x0; } && test "x$mtime" != x$(stat --format %Y a) && test "x$ctime" != x$(stat --format %Z a) } diff --git a/tests/stat/stat-nanoseconds.sh b/tests/stat/stat-nanoseconds.sh index 7ee8264b01..a4f55cf6d0 100755 --- a/tests/stat/stat-nanoseconds.sh +++ b/tests/stat/stat-nanoseconds.sh @@ -16,8 +16,8 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . -print_ver_ stat . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src +print_ver_ stat # Set this to avoid problems with weird time zones. TZ=UTC0 @@ -29,18 +29,18 @@ touch -d '1970-01-01 18:43:33.023456789' k || framework_failure_ ls --full-time | grep 18:43:33.023456789 \ || skip_ this file system does not support sub-second timestamps -test "$(stat -c %X k)" = 67413 || fail=1 -test "$(stat -c %.X k)" = 67413.023456789 || fail=1 -test "$(stat -c %.1X k)" = 67413.0 || fail=1 -test "$(stat -c %.3X k)" = 67413.023 || fail=1 -test "$(stat -c %.6X k)" = 67413.023456 || fail=1 -test "$(stat -c %.9X k)" = 67413.023456789 || fail=1 -test "$(stat -c %13.6X k)" = ' 67413.023456' || fail=1 -test "$(stat -c %013.6X k)" = 067413.023456 || fail=1 -test "$(stat -c %-13.6X k)" = '67413.023456 ' || fail=1 -test "$(stat -c %18.10X k)" = ' 67413.0234567890' || fail=1 -test "$(stat -c %I18.10X k)" = ' 67413.0234567890' || fail=1 -test "$(stat -c %018.10X k)" = 0067413.0234567890 || fail=1 -test "$(stat -c %-18.10X k)" = '67413.0234567890 ' || fail=1 +test "$(stat -c %Y k)" = 67413 || fail=1 +test "$(stat -c %.Y k)" = 67413.023456789 || fail=1 +test "$(stat -c %.1Y k)" = 67413.0 || fail=1 +test "$(stat -c %.3Y k)" = 67413.023 || fail=1 +test "$(stat -c %.6Y k)" = 67413.023456 || fail=1 +test "$(stat -c %.9Y k)" = 67413.023456789 || fail=1 +test "$(stat -c %13.6Y k)" = ' 67413.023456' || fail=1 +test "$(stat -c %013.6Y k)" = 067413.023456 || fail=1 +test "$(stat -c %-13.6Y k)" = '67413.023456 ' || fail=1 +test "$(stat -c %18.10Y k)" = ' 67413.0234567890' || fail=1 +test "$(stat -c %I18.10Y k)" = ' 67413.0234567890' || fail=1 +test "$(stat -c %018.10Y k)" = 0067413.0234567890 || fail=1 +test "$(stat -c %-18.10Y k)" = '67413.0234567890 ' || fail=1 Exit $fail -- 2.47.2