summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJim Meyering <jim@meyering.net>1999-11-13 13:24:54 +0000
committerJim Meyering <jim@meyering.net>1999-11-13 13:24:54 +0000
commit4f06def5c06d3c10577e35a60e67acada949c3ea (patch)
treea33c3640ee499bd862d0da7a914e9d3064f4354b
parent0ce2109a88f1295170c22ba5d579cb194472796d (diff)
downloadcoreutils-4f06def5c06d3c10577e35a60e67acada949c3ea.tar.xz
new test for touch -c fix
-rwxr-xr-xtests/touch/no-rights34
1 files changed, 34 insertions, 0 deletions
diff --git a/tests/touch/no-rights b/tests/touch/no-rights
new file mode 100755
index 000000000..ba22382ba
--- /dev/null
+++ b/tests/touch/no-rights
@@ -0,0 +1,34 @@
+#!/bin/sh
+# Make sure touch can update the times on a file that is neither
+# readable nor writable.
+
+if test "$VERBOSE" = yes; then
+ set -x
+ touch --version
+fi
+
+DEFAULT_SLEEP_SECONDS=2
+SLEEP_SECONDS=${SLEEP_SECONDS=$DEFAULT_SLEEP_SECONDS}
+
+t1=touch-no-rw1
+t2=touch-no-rw2
+rm -rf $t1 $t2
+: > $t1
+
+# Make sure $t2 is two seconds newer than $t1.
+sleep $SLEEP_SECONDS
+: > $t2
+fail=0
+
+set x `ls -t $t1 $t2`
+test "$*" = "x $t2 $t1" || fail=1
+
+chmod 0 $t1
+touch -c $t1 || fail=1
+
+set x `ls -t $t1 $t2`
+test "$*" = "x $t1 $t2" || fail=1
+
+rm -f $t1 $t2
+
+exit $fail