1# regression tests for the touch utility 2 3export TZ=EST5EDT 4 5TEST 01 'basics' 6 EXEC -a -m -t 2000-01-02+03:04:05 a 7 PROG ls --format="%(atime:time=%K)s %(mtime:time=%K)s %(path)s" a 8 OUTPUT - $'2000-01-02+03:04:05 2000-01-02+03:04:05 a' 9 EXEC -a -t 2000-05-04+03:02:01 a 10 OUTPUT - 11 PROG ls --format="%(atime:time=%K)s %(mtime:time=%K)s %(path)s" a 12 OUTPUT - $'2000-05-04+03:02:01 2000-01-02+03:04:05 a' 13 EXEC -r a b 14 OUTPUT - 15 PROG ls --format="%(mtime:time=%K)s %(path)s" b 16 OUTPUT - $'2000-01-02+03:04:05 b' 17 EXEC -a -r a b 18 OUTPUT - 19 PROG ls --format="%(atime:time=%K)s %(mtime:time=%K)s %(path)s" b 20 OUTPUT - $'2000-05-04+03:02:01 2000-01-02+03:04:05 b' 21 EXEC -n b 22 OUTPUT - 23 PROG ls --format="%(atime:time=%K)s %(mtime:time=%K)s %(path)s" b 24 OUTPUT - $'2000-05-04+03:02:01 2000-01-02+03:04:05 b' 25 26TEST 02 'times' 27 EXEC -a -t 2000-05-04+03:02:01 a 28 EXEC -m -t 2000-01-02+03:04:05 a 29 EXEC -a -t mtime a 30 PROG ls --format="%(atime:time=%K)s %(mtime:time=%K)s %(path)s" a 31 OUTPUT - $'2000-01-02+03:04:05 2000-01-02+03:04:05 a' 32 EXEC 0102030405 b 33 OUTPUT - 34 PROG ls --format="%(mtime:time=%K)s %(path)s" b 35 OUTPUT - $'2001-02-03+04:05:00 b' 36 EXEC -t 0102030405 b 37 OUTPUT - 38 PROG ls --format="%(mtime:time=%K)s %(path)s" b 39 OUTPUT - $'2001-02-03+04:05:00 b' 40 EXEC 0203040501 b 41 OUTPUT - 42 PROG ls --format="%(mtime:time=%K)s %(path)s" b 43 OUTPUT - $'2002-03-04+05:01:00 b' 44 EXEC -t 0203040501 b 45 OUTPUT - 46 PROG ls --format="%(mtime:time=%K)s %(path)s" b 47 OUTPUT - $'2002-03-04+05:01:00 b' 48 EXEC 9901020304 b 49 OUTPUT - 50 PROG ls --format="%(mtime:time=%K)s %(path)s" b 51 OUTPUT - $'1999-01-02+03:04:00 b' 52 EXEC -t 9901020304 b 53 OUTPUT - 54 PROG ls --format="%(mtime:time=%K)s %(path)s" b 55 OUTPUT - $'1999-01-02+03:04:00 b' 56 EXEC 0102030499 b 57 OUTPUT - 58 PROG ls --format="%(mtime:time=%K)s %(path)s" b 59 OUTPUT - $'1999-01-02+03:04:00 b' 60 EXEC -t 0102030499 b 61 OUTPUT - 62 PROG ls --format="%(mtime:time=%K)s %(path)s" b 63 OUTPUT - $'1999-01-02+03:04:00 b' 64 EXEC 200001020304 b 65 OUTPUT - 66 PROG ls --format="%(mtime:time=%K)s %(path)s" b 67 OUTPUT - $'2000-01-02+03:04:00 b' 68 EXEC -t 200001020304 b 69 OUTPUT - 70 PROG ls --format="%(mtime:time=%K)s %(path)s" b 71 OUTPUT - $'2000-01-02+03:04:00 b' 72 EXEC 010203042000 b 73 OUTPUT - 74 PROG ls --format="%(mtime:time=%K)s %(path)s" b 75 OUTPUT - $'2000-01-02+03:04:00 b' 76 EXEC -t 010203042000 b 77 OUTPUT - 78 PROG ls --format="%(mtime:time=%K)s %(path)s" b 79 OUTPUT - $'2000-01-02+03:04:00 b' 80 81TEST 03 'subsecond times' 82 83 IF 'touch -a -t 2000-05-04+03:02:01.098 a; [[ $(ls --format="%(atime:time=%N)s" a) == 098000000 ]]' 84 85 EXEC -a -t 2000-05-04+03:02:01.098 a 86 EXEC -m -t 2000-01-02+03:04:05.678 a 87 PROG ls --format="%(atime:time=%K.%N)s %(mtime:time=%K.%N)s %(path)s" a 88 OUTPUT - $'2000-05-04+03:02:01.098000000 2000-01-02+03:04:05.678000000 a' 89 EXEC -a -t mtime a 90 OUTPUT - 91 PROG ls --format="%(atime:time=%K.%N)s %(mtime:time=%K.%N)s %(path)s" a 92 OUTPUT - $'2000-01-02+03:04:05.678000000 2000-01-02+03:04:05.678000000 a' 93 94 ELSE 'filesystem disables subsecond time stamps' 95 96 FI 97