diff options
Diffstat (limited to 'tests/utimensat/01.t')
| -rw-r--r-- | tests/utimensat/01.t | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/tests/utimensat/01.t b/tests/utimensat/01.t new file mode 100644 index 000000000000..0de42ca51b26 --- /dev/null +++ b/tests/utimensat/01.t @@ -0,0 +1,56 @@ +#! /bin/sh +# vim: filetype=sh noexpandtab ts=8 sw=8 +# $FreeBSD$ + +desc="utimensat with UTIME_NOW will set the will set typestamps to now" + +dir=`dirname $0` +. ${dir}/../misc.sh + +require "utimensat" + +echo "1..7" + +n0=`namegen` +n1=`namegen` +TIME_MARGIN=300 # Allow up to a 5 minute delta between the timestamps + +expect 0 mkdir ${n1} 0755 +cdir=`pwd` +cd ${n1} + + +create_file regular ${n0} +old_mtime=`$fstest lstat ${n0} mtime` +old_atime=`$fstest lstat ${n0} atime` +sleep 1 # Ensure that future timestamps will be different than this one + +expect 0 open . O_RDONLY : utimensat 0 ${n0} 0 UTIME_NOW 0 UTIME_NOW 0 +new_mtime=`$fstest lstat ${n0} mtime` +new_atime=`$fstest lstat ${n0} atime` +delta_mtime=$(( $new_mtime - $old_mtime )) +delta_atime=$(( $new_atime - $old_atime )) + +if [ "$delta_mtime" -gt 0 ]; then + if [ "$delta_mtime" -lt $TIME_MARGIN ]; then + echo "ok 4" + else + echo "not ok 4 new mtime is implausibly far in the future" + fi +else + echo "not ok 4 mtime was not updated" +fi +if [ "$delta_atime" -gt 0 ]; then + if [ "$delta_atime" -lt $TIME_MARGIN ]; then + echo "ok 5" + else + echo "not ok 5 new atime is implausibly far in the future" + fi +else + echo "not ok 5 atime was not updated" +fi +ntest=$((ntest+2)) +expect 0 unlink ${n0} + +cd ${cdir} +expect 0 rmdir ${n1} |
