wine-staging/patches/include-Winetest/0001-include-Automatically-detect-if-tests-are-running-un.patch

46 lines
1.6 KiB
Diff

From dc6ade01aa4c28b675218453d7da818af1a6f827 Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Sun, 23 Nov 2014 22:50:34 +0100
Subject: include: Automatically detect if tests are running under Wine when
WINETEST_PLATFORM is not specified.
---
include/wine/test.h | 14 +++++++++++++-
1 file changed, 13 insertions(+), 1 deletion(-)
diff --git a/include/wine/test.h b/include/wine/test.h
index f8b608f..567229a 100644
--- a/include/wine/test.h
+++ b/include/wine/test.h
@@ -618,6 +618,14 @@ static LONG CALLBACK exc_filter( EXCEPTION_POINTERS *ptrs )
return EXCEPTION_EXECUTE_HANDLER;
}
+/* check if we're running under wine */
+static BOOL running_under_wine(void)
+{
+ HMODULE module = GetModuleHandleA( "ntdll.dll" );
+ if (!module) return FALSE;
+ return (GetProcAddress( module, "wine_server_call" ) != NULL);
+}
+
#ifdef __GNUC__
void _fpreset(void) {} /* override the mingw fpu init code */
#endif
@@ -632,7 +640,11 @@ int main( int argc, char **argv )
winetest_argc = argc;
winetest_argv = argv;
- if (GetEnvironmentVariableA( "WINETEST_PLATFORM", p, sizeof(p) )) winetest_platform = strdup(p);
+ if (GetEnvironmentVariableA( "WINETEST_PLATFORM", p, sizeof(p) ))
+ winetest_platform = strdup(p);
+ else if (running_under_wine())
+ winetest_platform = "wine";
+
if (GetEnvironmentVariableA( "WINETEST_DEBUG", p, sizeof(p) )) winetest_debug = atoi(p);
if (GetEnvironmentVariableA( "WINETEST_INTERACTIVE", p, sizeof(p) )) winetest_interactive = atoi(p);
if (GetEnvironmentVariableA( "WINETEST_REPORT_SUCCESS", p, sizeof(p) )) report_success = atoi(p);
--
2.1.3