From 75f00de55c6e8adc513f9ee32383b11e23106a40 Mon Sep 17 00:00:00 2001 From: Marc Hoersken Date: Sat, 1 Feb 2014 00:58:58 +0100 Subject: 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. --- tests/libtest/first.c | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) (limited to 'tests/libtest/first.c') 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 /* for setlocale() */ +# include /* for setlocale() */ +#endif + +#ifdef HAVE_IO_H +# include /* for setmode() */ +#endif + +#ifdef HAVE_FCNTL_H +# include /* 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(); /* -- cgit v1.2.3