]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - contrib/pjdfstest/tests/utimensat/08.t
MFV r349134:
[FreeBSD/FreeBSD.git] / contrib / pjdfstest / tests / utimensat / 08.t
1 #! /bin/sh
2 # vim: filetype=sh noexpandtab ts=8 sw=8
3 # $FreeBSD$
4
5 desc="utimensat can set timestamps with subsecond precision"
6
7 dir=`dirname $0`
8 . ${dir}/../misc.sh
9
10 require "utimensat"
11
12 echo "1..9"
13
14 n0=`namegen`
15 n1=`namegen`
16 # Different file systems have different timestamp resolutions.  Check that they
17 # can do 0.1 second, but don't bother checking the finest resolution.
18 DATE1=100000000 #Sat Mar  3 02:46:40 MST 1973
19 DATE1_NS=100000000
20 DATE2=200000000 #Mon May  3 13:33:20 MDT 1976
21 DATE2_NS=200000000
22
23 expect 0 mkdir ${n1} 0755
24 cdir=`pwd`
25 cd ${n1}
26
27 create_file regular ${n0} 0644
28 expect 0 open . O_RDONLY : utimensat 0 ${n0} $DATE1 $DATE1_NS $DATE2 $DATE2_NS 0
29 expect $DATE1_NS lstat ${n0} atime_ns
30 expect $DATE2_NS lstat ${n0} mtime_ns
31 if supported "stat_st_birthtime"; then
32         expect $DATE2_NS lstat ${n0} birthtime_ns
33 else
34         test_check true
35 fi
36
37 expect 0 unlink ${n0}
38
39 cd ${cdir}
40 expect 0 rmdir ${n1}