summaryrefslogtreecommitdiff
path: root/tests/libtest
diff options
context:
space:
mode:
authorMarc Hoersken <info@marc-hoersken.de>2014-02-01 00:58:58 +0100
committerMarc Hoersken <info@marc-hoersken.de>2014-02-14 20:12:27 +0100
commit75f00de55c6e8adc513f9ee32383b11e23106a40 (patch)
treedec52068788034aa173e68d4c220dabfac4454ba /tests/libtest
parent69745aaa45634308c1dca29cbb7881001c6efc5d (diff)
downloadcurl-75f00de55c6e8adc513f9ee32383b11e23106a40.tar.gz
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.c18
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();
/*