view tests/test-select-out.sh @ 40214:452ab00796c7

Fix undefined behaviour. * lib/bitrotate.h (rotl16, rotr16, rotl8, rotr8): Case x to 'unsigned int', to avoid shift operations on 'int'. * lib/xmemdup0.c (xmemdup0): Don't invoke memcpy with a zero size. * tests/test-count-leading-zeros.c (main): Use a random number that has as many bits as TYPE, not only 2*15 or 2*31 bits. * tests/test-count-trailing-zeros.c (main): Likewise. * tests/test-count-one-bits.c (main): Likewise. * tests/test-memmem.c: Don't include "null-ptr.h". (main): Use zerosize_ptr() instead of null_ptr(). * modules/memmem-tests (Files): Remove tests/null-ptr.h.
author Bruno Haible <bruno@clisp.org>
date Sat, 09 Mar 2019 20:32:25 +0100
parents 97fca29bb224
children 8c1a17df67e0
line wrap: on
line source

#!/bin/sh
# Test select() on file descriptors opened for writing.

tmpfiles=""
trap 'rm -fr $tmpfiles' 1 2 3 15

tmpfiles="$tmpfiles t-select-out.out t-select-out.tmp"

# Regular files.

rm -f t-select-out.tmp
./test-select-fd${EXEEXT} w 1 t-select-out.tmp > t-select-out.out
test `cat t-select-out.tmp` = "1" || exit 1

# Pipes.

if false; then # This test fails on some platforms.
  rm -f t-select-out.tmp
  ( { echo abc; ./test-select-fd${EXEEXT} w 1 t-select-out.tmp; } | { sleep 1; cat; } ) > /dev/null
  test `cat t-select-out.tmp` = "0" || exit 1
fi

rm -f t-select-out.tmp
( { sleep 1; echo abc; ./test-select-fd${EXEEXT} w 1 t-select-out.tmp; } | cat) > /dev/null
test `cat t-select-out.tmp` = "1" || exit 1

# Special files.

rm -f t-select-out.tmp
./test-select-fd${EXEEXT} w 1 t-select-out.tmp > /dev/null
test `cat t-select-out.tmp` = "1" || exit 1

rm -fr $tmpfiles

exit 0