summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPádraig Brady <P@draigBrady.com>2016-11-29 21:15:59 +0000
committerPádraig Brady <P@draigBrady.com>2016-11-29 21:21:12 +0000
commita2bb79844fa9ef0a24a5930c88f6abd97180b9fa (patch)
tree8223fe96d1875bba4f6bc5a4d40bb3a62ba5997f
parent0655b86a6ebc6f1324810d504a71803aa708d162 (diff)
downloadcoreutils-a2bb79844fa9ef0a24a5930c88f6abd97180b9fa.tar.xz
tests: fix ERRORs and false FAILs on some platforms
* tests/misc/ls-time.sh: Skip the test rather than ERROR when `touch -m -d ...` fails (Hurd). * tests/tail-2/follow-stdin.sh: Avoid false FAILs by ignoring the variances in sterror output. * tests/rm/rm-readdir-fail.sh: Likewise. Also avoid ERRORs on systems that don't define _D_EXACT_NAMELEN.
-rwxr-xr-xtests/misc/ls-time.sh2
-rwxr-xr-xtests/rm/rm-readdir-fail.sh10
-rwxr-xr-xtests/tail-2/follow-stdin.sh9
3 files changed, 11 insertions, 10 deletions
diff --git a/tests/misc/ls-time.sh b/tests/misc/ls-time.sh
index 09a0fc180..709a0034c 100755
--- a/tests/misc/ls-time.sh
+++ b/tests/misc/ls-time.sh
@@ -71,7 +71,7 @@ In the output below, the date of last modification for 'a' should
have been $t3.
EOF
ls --full -l a
- framework_failure_
+ skip_ "touch -m -d '$t3' didn't work"
;;
esac
diff --git a/tests/rm/rm-readdir-fail.sh b/tests/rm/rm-readdir-fail.sh
index 91fb0f649..7ea7da8be 100755
--- a/tests/rm/rm-readdir-fail.sh
+++ b/tests/rm/rm-readdir-fail.sh
@@ -68,7 +68,7 @@ struct dirent *readdir (DIR *dirp)
count++;
d->d_name[0]='0'+count; d->d_name[1]='\0';
#ifdef _DIRENT_HAVE_D_NAMLEN
- _D_EXACT_NAMELEN(d)=2;
+ d->d_namlen = 2;
#endif
errno = 0;
return d;
@@ -89,7 +89,7 @@ export READDIR_PARTIAL
for READDIR_PARTIAL in '' '1'; do
rm -f preloaded
(export LD_PRELOAD=$LD_PRELOAD:./k.so
- returns_ 1 rm -Rf dir 2>>err) || fail=1
+ returns_ 1 rm -Rf dir 2>>errt) || fail=1
if ! test -f preloaded; then
cat err
skip_ "internal test failure: maybe LD_PRELOAD doesn't work?"
@@ -101,10 +101,10 @@ done
# Second case is more general error where we fail immediately
# (with ENOENT in this case but it could be anything).
cat <<EOF > exp
-rm: cannot remove 'dir': Directory not empty
-rm: traversal failed: dir: No such file or directory
+rm: cannot remove 'dir'
+rm: traversal failed: dir
EOF
-
+sed 's/\(rm:.*\):.*/\1/' errt > err || framework_failure_
compare exp err || fail=1
Exit $fail
diff --git a/tests/tail-2/follow-stdin.sh b/tests/tail-2/follow-stdin.sh
index 3d51f6006..51ce82b0e 100755
--- a/tests/tail-2/follow-stdin.sh
+++ b/tests/tail-2/follow-stdin.sh
@@ -52,13 +52,14 @@ done
# Before coreutils-8.26 this would induce an UMR under UBSAN
-returns_ 1 timeout 10 tail -f - <&- 2>err || fail=1
+returns_ 1 timeout 10 tail -f - <&- 2>errt || fail=1
cat <<\EOF >exp || framework_failure_
-tail: cannot fstat 'standard input': Bad file descriptor
-tail: error reading 'standard input': Bad file descriptor
+tail: cannot fstat 'standard input'
+tail: error reading 'standard input'
tail: no files remaining
-tail: -: Bad file descriptor
+tail: -
EOF
+sed 's/\(tail:.*\):.*/\1/' errt > err || framework_failure_
compare exp err || fail=1