diff options
author | Marc Hoersken <info@marc-hoersken.de> | 2014-02-01 00:58:58 +0100 |
---|---|---|
committer | Marc Hoersken <info@marc-hoersken.de> | 2014-02-14 20:12:27 +0100 |
commit | 75f00de55c6e8adc513f9ee32383b11e23106a40 (patch) | |
tree | dec52068788034aa173e68d4c220dabfac4454ba /tests/libtest | |
parent | 69745aaa45634308c1dca29cbb7881001c6efc5d (diff) |
testsuite: use binary output mode for custom curl test tools
Do not try to convert line-endings to CRLF on Windows by setting stdout
to binary mode, just like the curl tool does if --ascii is not specified.
This should prevent corrupted stdout line-ending output like CRCRLF.
In order to make the previously naive text-aware tests work with
binary mode on Windows, text-mode is disabled for them if it is not
actually part of the test case and line-endings are corrected.
Diffstat (limited to 'tests/libtest')
-rw-r--r-- | tests/libtest/first.c | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/tests/libtest/first.c b/tests/libtest/first.c index 253acb21d..9ab7dc758 100644 --- a/tests/libtest/first.c +++ b/tests/libtest/first.c @@ -22,7 +22,15 @@ #include "test.h" #ifdef HAVE_LOCALE_H -#include <locale.h> /* for setlocale() */ +# include <locale.h> /* for setlocale() */ +#endif + +#ifdef HAVE_IO_H +# include <io.h> /* for setmode() */ +#endif + +#ifdef HAVE_FCNTL_H +# include <fcntl.h> /* for setmode() */ #endif #ifdef CURLDEBUG @@ -98,6 +106,14 @@ int main(int argc, char **argv) { char *URL; +#ifdef O_BINARY +# ifdef __HIGHC__ + _setmode(stdout, O_BINARY); +# else + setmode(fileno(stdout), O_BINARY); +# endif +#endif + memory_tracking_init(); /* |