From 66b2b8b5b81dcf2e732c76e945c575e36f37f28e Mon Sep 17 00:00:00 2001 From: Ivan Zhakov Date: Mon, 12 Sep 2022 15:06:53 +0000 Subject: On 1.8.x branch: Merge r1902283 from trunk: tests: Configure VC runtime to write errors to stderr instead of displaying popup message box on Windows. git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/1.8.x@1904015 13f79535-47bb-0310-9956-ffa450edef68 --- test/testutil.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/test/testutil.c b/test/testutil.c index c433e92c3..2986cd5a2 100644 --- a/test/testutil.c +++ b/test/testutil.c @@ -16,6 +16,9 @@ #include #include +#if defined(_MSC_VER) +#include +#endif #include "abts.h" #include "testutil.h" @@ -41,4 +44,18 @@ void initialize(void) { atexit(apr_terminate); apr_pool_create(&p, NULL); + +#if _MSC_VER >= 1400 + /* In release mode: Redirect abort() errors to stderr */ + _set_error_mode(_OUT_TO_STDERR); + + /* In _DEBUG mode: Redirect all debug output (E.g. assert() to stderr. + (Ignored in release builds) */ + _CrtSetReportFile(_CRT_WARN, _CRTDBG_FILE_STDERR); + _CrtSetReportFile(_CRT_ERROR, _CRTDBG_FILE_STDERR); + _CrtSetReportFile(_CRT_ASSERT, _CRTDBG_FILE_STDERR); + _CrtSetReportMode(_CRT_WARN, _CRTDBG_MODE_FILE | _CRTDBG_MODE_DEBUG); + _CrtSetReportMode(_CRT_ERROR, _CRTDBG_MODE_FILE | _CRTDBG_MODE_DEBUG); + _CrtSetReportMode(_CRT_ASSERT, _CRTDBG_MODE_FILE | _CRTDBG_MODE_DEBUG); +#endif /* _MSC_VER >= 1400 */ } -- cgit v1.2.1