summaryrefslogtreecommitdiff
path: root/tests/cp
diff options
context:
space:
mode:
authorBernhard Voelker <mail@bernhard-voelker.de>2014-01-09 02:14:17 +0100
committerBernhard Voelker <mail@bernhard-voelker.de>2014-01-09 02:14:17 +0100
commitd1342119790fc9c12729db50ee5db9248be82408 (patch)
treee5fbf2a22a481eb2b1dcd83b0af6a24e788b9cb2 /tests/cp
parent299924fc224b4419350e3b7749650178a509206a (diff)
downloadcoreutils-d1342119790fc9c12729db50ee5db9248be82408.tar.xz
tests: avoid FP failure when cp fails for /proc/cpuinfo
On emulated aarch64 systems like in the qemu-based OpenBuildService of openSUSE, cp fails to copy /proc/cpuinfo because the inode number changes between the initial stat() call and copying the file: $ cp /proc/cpuinfo exp cp: skipping file '/proc/cpuinfo', as it was \ replaced while being copied * tests/cp/proc-zero-len.sh: When cp fails, check on the above error message to skip the test.
Diffstat (limited to 'tests/cp')
-rwxr-xr-xtests/cp/proc-zero-len.sh7
1 files changed, 6 insertions, 1 deletions
diff --git a/tests/cp/proc-zero-len.sh b/tests/cp/proc-zero-len.sh
index d6f05e256..3369cfb3c 100755
--- a/tests/cp/proc-zero-len.sh
+++ b/tests/cp/proc-zero-len.sh
@@ -27,7 +27,12 @@ test -r $f || f=empty
cat $f > out || fail=1
# With coreutils-6.9, this would create a zero-length "exp" file.
-cp $f exp || fail=1
+# Skip this test on architectures like aarch64 where the inode
+# number of the file changed during the cp run.
+cp $f exp 2>err \
+ || { fail=1;
+ grep 'replaced while being copied' \
+ && skip_ "File $f is being replaced while being copied"; }
# Don't simply compare contents; they might differ,
# e.g., if CPU freq changes between cat and cp invocations.