Added patch to automatically detect if tests are running under Wine.

This commit is contained in:
Sebastian Lackner
2014-11-23 22:52:20 +01:00
parent 3b946491da
commit 2741db55bd
3 changed files with 59 additions and 0 deletions

View File

@@ -0,0 +1,45 @@
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