tests: fix false failure in recent test adjustment

* configure.ac: Comment on why we link rather than run the test,
and remove the moot __ELF__ check since we never ran it anyway,
and the new CFLAGS and LDFLAGS are a more direct test of support.
* tests/misc/wc-parallel.sh: Fix a syntax error in the previous change.
* tests/misc/md5sum-parallel.sh: Use better error checking, consistent
with that used in wc-parallel.sh.
This commit is contained in:
Pádraig Brady
2015-06-06 14:17:14 +01:00
parent 079652ee6b
commit 3150ec900c
3 changed files with 10 additions and 9 deletions

View File

@@ -454,6 +454,7 @@ if test $gl_cv_list_mounted_fs = yes && test $gl_cv_fs_space = yes; then
gl_ADD_PROG([optional_bin_progs], [df])
fi
# Build stdbuf only if supported
ac_save_CFLAGS=$CFLAGS
ac_save_LDFLAGS=$LDFLAGS
# Detect warnings about ignored "constructor" attributes.
@@ -464,18 +465,15 @@ AC_MSG_CHECKING([whether this system supports stdbuf])
CFLAGS="-fPIC $CFLAGS"
LDFLAGS="-shared $LDFLAGS"
stdbuf_supported=no
# Note we only LINK here rather than RUN to support cross compilation
AC_LINK_IFELSE(
[AC_LANG_PROGRAM([[
static int stdbuf = 0;
/* Restrict to ELF systems with compilers
that support the constructor attribute. */
void __attribute__ ((constructor))
stdbuf_init (void)
{
#if __ELF__
stdbuf = 1;
#endif
stdbuf = 1;
}]],[[
return !(stdbuf == 1);]])
],

View File

@@ -20,13 +20,17 @@
. "${srcdir=.}/tests/init.sh"; path_prepend_ ./src
print_ver_ md5sum
xargs -P2 </dev/null >/dev/null 2>&1 \
|| skip_ 'xargs -P is required'
(mkdir tmp && cd tmp && seq 500 | xargs touch)
# This will output at least 16KiB per process
# and start 3 processes, with 2 running concurrently,
# which triggers often on Fedora 11 at least.
(find tmp tmp tmp -type f | xargs -n500 -P2 md5sum) |
(find tmp tmp tmp -type f | xargs -n500 -P2 md5sum 2>err) |
sed -n '/[0-9a-f]\{32\} /!p' |
grep . > /dev/null && fail=1
compare /dev/null err || fail=1
Exit $fail

View File

@@ -20,9 +20,8 @@
. "${srcdir=.}/tests/init.sh"; path_prepend_ ./src
print_ver_ wc
if xargs -P2 </dev/null >/dev/null 2>&1
skip_ 'xargs -P is required'
fi
xargs -P2 </dev/null >/dev/null 2>&1 \
|| skip_ 'xargs -P is required'
(mkdir tmp && cd tmp && seq 2000 | xargs touch)