aboutsummaryrefslogtreecommitdiffstats
path: root/tests/cp/preserve-slink-time
diff options
context:
space:
mode:
authorEric Blake <ebb9@byu.net>2009-10-08 15:57:06 -0600
committerEric Blake <ebb9@byu.net>2009-10-10 09:14:35 -0600
commit82e344ca09dbc3f168ee598749e751373161ce30 (patch)
treefa5497649b0847e3ef8d1ca42a2129c25e2036ae /tests/cp/preserve-slink-time
parentbuild: update gnulib submodule to latest, for utimens improvements (diff)
downloadcoreutils-82e344ca09dbc3f168ee598749e751373161ce30.tar.gz
coreutils-82e344ca09dbc3f168ee598749e751373161ce30.zip
copy: allow symlink timestamp preservation on more systems
* src/copy.c (utimens_symlink): Simplify by using lutimens. * m4/jm-macros.m4 (coreutils_MACROS): Drop utimensat; gnulib does this for us. * tests/cp/preserve-slink-time: Recognize lutimes support.
Diffstat (limited to '')
-rwxr-xr-xtests/cp/preserve-slink-time2
1 files changed, 2 insertions, 0 deletions
diff --git a/tests/cp/preserve-slink-time b/tests/cp/preserve-slink-time
index c5c21a5e1..407b77272 100755
--- a/tests/cp/preserve-slink-time
+++ b/tests/cp/preserve-slink-time
@@ -24,6 +24,7 @@ fi
. $srcdir/test-lib.sh
grep '^#define HAVE_UTIMENSAT' "$CONFIG_HEADER" > /dev/null ||
+grep '^#define HAVE_LUTIMES' "$CONFIG_HEADER" > /dev/null ||
skip_test_ 'this system lacks the utimensat function'
ln -s no-such dangle || framework_failure
@@ -34,6 +35,7 @@ case $(stat --format=%y dangle) in
??:??:??.000000000) sleep 2;;
esac
+# Can't use --format=%x, as lstat() modifies atime on some platforms.
cp -Pp dangle d2 || framework_failure
stat --format=%y dangle > t1 || framework_failure
stat --format=%y d2 > t2 || framework_failure