Blame gnulib-tests/test-select-out.sh

Packit 33f14e
#!/bin/sh
Packit 33f14e
# Test select() on file descriptors opened for writing.
Packit 33f14e
Packit 33f14e
tmpfiles=""
Packit 33f14e
trap 'rm -fr $tmpfiles' 1 2 3 15
Packit 33f14e
Packit 33f14e
tmpfiles="$tmpfiles t-select-out.out t-select-out.tmp"
Packit 33f14e
Packit 33f14e
# Regular files.
Packit 33f14e
Packit 33f14e
rm -f t-select-out.tmp
Packit 33f14e
./test-select-fd${EXEEXT} w 1 t-select-out.tmp > t-select-out.out
Packit 33f14e
test `cat t-select-out.tmp` = "1" || exit 1
Packit 33f14e
Packit 33f14e
# Pipes.
Packit 33f14e
Packit 33f14e
if false; then # This test fails on some platforms.
Packit 33f14e
  rm -f t-select-out.tmp
Packit 33f14e
  ( { echo abc; ./test-select-fd${EXEEXT} w 1 t-select-out.tmp; } | { sleep 1; cat; } ) > /dev/null
Packit 33f14e
  test `cat t-select-out.tmp` = "0" || exit 1
Packit 33f14e
fi
Packit 33f14e
Packit 33f14e
rm -f t-select-out.tmp
Packit 33f14e
( { sleep 1; echo abc; ./test-select-fd${EXEEXT} w 1 t-select-out.tmp; } | cat) > /dev/null
Packit 33f14e
test `cat t-select-out.tmp` = "1" || exit 1
Packit 33f14e
Packit 33f14e
# Special files.
Packit 33f14e
Packit 33f14e
rm -f t-select-out.tmp
Packit 33f14e
./test-select-fd${EXEEXT} w 1 t-select-out.tmp > /dev/null
Packit 33f14e
test `cat t-select-out.tmp` = "1" || exit 1
Packit 33f14e
Packit 33f14e
rm -fr $tmpfiles
Packit 33f14e
Packit 33f14e
exit 0