diff options
author | Bruno Haible <bruno@clisp.org> | 2023-04-22 13:47:15 +0200 |
---|---|---|
committer | Bruno Haible <bruno@clisp.org> | 2023-04-22 13:47:15 +0200 |
commit | eddc3474ec1fdd1856b24b37806bc92a700c0cb9 (patch) | |
tree | e6be71a607802141a9a7eaa298707ad7385d8941 /tests | |
parent | dd0a48f50a97ca1185c957b0846e715be7777bcb (diff) | |
download | gnulib-eddc3474ec1fdd1856b24b37806bc92a700c0cb9.tar.gz |
dfa tests: Fix test failure on mingw differently.
Suggested by Paul Eggert.
* tests/test-dfa-invalid-char-class.sh: Revert last change.
* tests/test-dfa-match-aux.c: Include binary-io.h.
(main): Put stdout into binary mode.
* modules/dfa-tests (Depends-on): Add binary-io.
Diffstat (limited to 'tests')
-rwxr-xr-x | tests/test-dfa-invalid-char-class.sh | 3 | ||||
-rw-r--r-- | tests/test-dfa-match-aux.c | 7 |
2 files changed, 8 insertions, 2 deletions
diff --git a/tests/test-dfa-invalid-char-class.sh b/tests/test-dfa-invalid-char-class.sh index b9b18980b6..1428d7966a 100755 --- a/tests/test-dfa-invalid-char-class.sh +++ b/tests/test-dfa-invalid-char-class.sh @@ -24,8 +24,7 @@ path_prepend_ . fail=0 echo 'dfaerror: invalid character class' > exp -LC_ALL=C ${CHECKER} test-dfa-match-aux '[[:foo:]]' a > tmp 2>&1 -LC_ALL=C tr -d '\r' < tmp > out +LC_ALL=C ${CHECKER} test-dfa-match-aux '[[:foo:]]' a > out 2>&1 compare exp out || fail=1 Exit $fail diff --git a/tests/test-dfa-match-aux.c b/tests/test-dfa-match-aux.c index b39bb6da86..cef29e6a83 100644 --- a/tests/test-dfa-match-aux.c +++ b/tests/test-dfa-match-aux.c @@ -26,6 +26,8 @@ #include <dfa.h> #include <localeinfo.h> +#include "binary-io.h" + _Noreturn void dfaerror (char const *mesg) { @@ -53,6 +55,11 @@ main (int argc, char **argv) if (argc < 3) exit (EXIT_FAILURE); + /* This test's fixture needs to compare this program's output with an expected + output. On native Windows, the CR-LF newlines would cause this comparison + to fail. But we don't want to postprocess this program's output. */ + set_binary_mode (STDOUT_FILENO, O_BINARY); + setlocale (LC_ALL, ""); init_localeinfo (&localeinfo); |