include: Automatically detect if tests are running under Wine when WINETEST_PLATFORM is not specified.

This commit is contained in:
Sebastian Lackner 2014-11-23 22:50:34 +01:00 committed by Alexandre Julliard
parent 1d5914b777
commit 61b8a189c5
1 changed files with 13 additions and 1 deletions

View File

@ -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);