Module: wine Branch: master Commit: 088e27c849190584b36ae0fe19afa818b5579018 URL: http://source.winehq.org/git/wine.git/?a=commit;h=088e27c849190584b36ae0fe19...
Author: Alexandre Julliard julliard@winehq.org Date: Thu Sep 20 17:01:31 2007 +0200
ntdll/tests: Skip the debugger test if the child process is not loaded at the right address.
---
dlls/ntdll/tests/exception.c | 15 ++++++++++++--- 1 files changed, 12 insertions(+), 3 deletions(-)
diff --git a/dlls/ntdll/tests/exception.c b/dlls/ntdll/tests/exception.c index 8afbc81..ce5d31b 100644 --- a/dlls/ntdll/tests/exception.c +++ b/dlls/ntdll/tests/exception.c @@ -596,7 +596,7 @@ static void test_debugger(void) return; }
- sprintf(cmdline, "%s %s %s", my_argv[0], my_argv[1], "debuggee"); + sprintf(cmdline, "%s %s %s %p", my_argv[0], my_argv[1], "debuggee", &test_stage); ret = CreateProcess(NULL, cmdline, NULL, NULL, FALSE, DEBUG_PROCESS, NULL, NULL, &si, &pi); ok(ret, "could not create child process error: %u\n", GetLastError()); if (!ret) @@ -699,7 +699,7 @@ static void test_debugger(void) } } else - ok(FALSE, "unexpected stage %d\n", stage); + ok(FALSE, "unexpected stage %x\n", stage);
status = pNtSetContextThread(pi.hThread, &ctx); ok(!status, "NtSetContextThread failed with 0x%x\n", status); @@ -828,8 +828,17 @@ START_TEST(exception) }
my_argc = winetest_get_mainargs( &my_argv ); - if (my_argc >= 3) + if (my_argc >= 4) { + void *addr; + sscanf( my_argv[3], "%p", &addr ); + + if (addr != &test_stage) + { + skip( "child process not mapped at same address (%p/%p)\n", &test_stage, addr); + return; + } + /* child must be run under a debugger */ if (!pNtCurrentTeb()->Peb->BeingDebugged) {