diff options
-rw-r--r-- | configure.ac | 8 | ||||
-rwxr-xr-x | tests/misc/md5sum-parallel.sh | 6 | ||||
-rwxr-xr-x | tests/misc/wc-parallel.sh | 5 |
3 files changed, 10 insertions, 9 deletions
diff --git a/configure.ac b/configure.ac index a50992d04..fc1a0526b 100644 --- a/configure.ac +++ b/configure.ac @@ -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);]]) ], diff --git a/tests/misc/md5sum-parallel.sh b/tests/misc/md5sum-parallel.sh index 86f5af76f..2a526bdf2 100755 --- a/tests/misc/md5sum-parallel.sh +++ b/tests/misc/md5sum-parallel.sh @@ -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 diff --git a/tests/misc/wc-parallel.sh b/tests/misc/wc-parallel.sh index 98c36b9fa..19497e047 100755 --- a/tests/misc/wc-parallel.sh +++ b/tests/misc/wc-parallel.sh @@ -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) |