The test-pipe-filter-ii2.sh test never worked on native Windows, due to CR-LF and even CR-CR-LF seequences in the output.
2021-06-15 Bruno Haible <br...@clisp.org> pipe-filter-ii tests: Fix long-standing failure on native Windows. * tests/test-pipe-filter-ii2-main.c: Include binary-io.h. (main): Avoid NL to CRLF conversion on standard output. * tests/test-pipe-filter-ii2-child.c: Include <unistd.h>, binary-io.h. (main): Avoid NL to CRLF conversion on standard output. diff --git a/tests/test-pipe-filter-ii2-child.c b/tests/test-pipe-filter-ii2-child.c index 14c9863..2610988 100644 --- a/tests/test-pipe-filter-ii2-child.c +++ b/tests/test-pipe-filter-ii2-child.c @@ -20,10 +20,15 @@ #include <stdio.h> #include <stdlib.h> +#include <unistd.h> + +#include "binary-io.h" int main () { + set_binary_mode (STDOUT_FILENO, O_BINARY); + /* Repeatedly: Read two integers i and j, then output all integers in the range i..j, one per line. */ for (;;) diff --git a/tests/test-pipe-filter-ii2-main.c b/tests/test-pipe-filter-ii2-main.c index 3674e01..aad0505 100644 --- a/tests/test-pipe-filter-ii2-main.c +++ b/tests/test-pipe-filter-ii2-main.c @@ -26,6 +26,7 @@ #include <string.h> #include <signal.h> +#include "binary-io.h" #include "full-write.h" #include "macros.h" @@ -88,6 +89,8 @@ main (int argc, char **argv) ASSERT (argc == 2); + set_binary_mode (STDOUT_FILENO, O_BINARY); + /* Test writing to a nonexistent program traps sooner or later. */ { struct locals l;