From d1342119790fc9c12729db50ee5db9248be82408 Mon Sep 17 00:00:00 2001 From: Bernhard Voelker Date: Thu, 9 Jan 2014 02:14:17 +0100 Subject: 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. --- tests/cp/proc-zero-len.sh | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) 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. -- cgit v1.2.3-54-g00ecf