Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
Re: [PATCH] tests: fix -nt test on low-resolution file systems
On Wed 6 May 2026, at 00:26, dana wrote:
> this should make it work everywhere
no. i realised that the -nt test will still fail on systems that skip
the -N one
here's my third attempt. this should eliminate the 2s delay entirely on
most systems
dana
diff --git a/Test/C02cond.ztst b/Test/C02cond.ztst
index 3910f705f..bc565e8b6 100644
--- a/Test/C02cond.ztst
+++ b/Test/C02cond.ztst
@@ -142,14 +142,23 @@
# can't be bothered with -S
- print -ru $ZTST_fd 'This test may take two seconds...'
- touch $newnewnew
- if (( isnfs )); then
+ zmodload -s zsh/datetime && {
+ t= &&
+ strftime -s t %m%d%H%M.%S $(( EPOCHSECONDS + 2 )) &&
+ touch -t $t -- $newnewnew &&
+ touch -at $t -- $unmodified
+ } 2> /dev/null || {
+ print -ru $ZTST_fd 'This test will take two seconds...' &&
+ sleep 2 &&
+ touch -- $newnewnew &&
+ touch -a -- $unmodified
+ }
+ if (( $? )); then
+ ZTST_skip='[[ -N file ]] not tested; touch failed'
+ elif (( isnfs )); then
ZTST_skip="[[ -N file ]] not supported with NFS"
elif ! zmodload -F zsh/stat b:zstat 2> /dev/null; then
ZTST_skip='[[ -N file ]] not tested; zsh/stat not available'
- elif ! { sleep 2; touch -a $unmodified 2> /dev/null }; then
- ZTST_skip='[[ -N file ]] not tested; touch failed'
elif [[ "$(zstat +atime $unmodified)" == "$(zstat +mtime $unmodified)" ]]; then
ZTST_skip='[[ -N file ]] not supported on this file system'
else
Messages sorted by:
Reverse Date,
Date,
Thread,
Author