The Cygwin people don't stop adding regressions in the newest Cygwin versions. Now it's reading from /dev/null that is broken. It makes all mingw and MSVC builds fail.
This patch adds a workaround. 2025-04-14 Bruno Haible <br...@clisp.org> select tests: Work around a Cygwin bug. * tests/test-select-in.sh: Skip the /dev/null test on Cygwin 3.6.x. diff --git a/tests/test-select-in.sh b/tests/test-select-in.sh index ad86ea2526..9c74ca0c63 100755 --- a/tests/test-select-in.sh +++ b/tests/test-select-in.sh @@ -28,7 +28,18 @@ test `cat t-select-in.tmp` = "1" || exit 1 # Special files. # This part of the test is known to fail on Solaris 2.6 and older. - +# Also it fails in Cygwin 3.6.1, due to a Cygwin regression. +# <https://sourceware.org/pipermail/cygwin/2025-April/257940.html> +# <https://sourceware.org/pipermail/cygwin/2025-April/257952.html> +case `uname -s` in + CYGWIN*) + case `uname -r` in + 3.6.*) + echo "Skipping test: known Cygwin 3.6.x bug" + exit 77;; + esac + ;; +esac rm -f t-select-in.tmp ${CHECKER} ./test-select-fd${EXEEXT} r 0 t-select-in.tmp < /dev/null test `cat t-select-in.tmp` = "1" || exit 1