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

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