Zebediah Figura : ntdll/tests: Fix some exception test failures.

Alexandre Julliard julliard at winehq.org
Thu Jan 2 16:04:21 CST 2020


Module: wine
Branch: master
Commit: 7662fe0b47b5365f5092cf005fb43229c1911424
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=7662fe0b47b5365f5092cf005fb43229c1911424

Author: Zebediah Figura <z.figura12 at gmail.com>
Date:   Thu Jan  2 11:33:33 2020 -0600

ntdll/tests: Fix some exception test failures.

Signed-off-by: Zebediah Figura <z.figura12 at gmail.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/ntdll/tests/exception.c | 16 ++++++++++------
 1 file changed, 10 insertions(+), 6 deletions(-)

diff --git a/dlls/ntdll/tests/exception.c b/dlls/ntdll/tests/exception.c
index 44df47466b..7b77cbb795 100644
--- a/dlls/ntdll/tests/exception.c
+++ b/dlls/ntdll/tests/exception.c
@@ -367,8 +367,9 @@ static LONG CALLBACK rtlraiseexception_vectored_handler(EXCEPTION_POINTERS *Exce
     trace("vect. handler %08x addr:%p context.Eip:%x\n", rec->ExceptionCode,
           rec->ExceptionAddress, context->Eip);
 
-    ok(rec->ExceptionAddress == (char *)code_mem + 0xb, "ExceptionAddress at %p instead of %p\n",
-       rec->ExceptionAddress, (char *)code_mem + 0xb);
+    ok(rec->ExceptionAddress == (char *)code_mem + 0xb
+            || broken(rec->ExceptionAddress == code_mem || !rec->ExceptionAddress) /* 2008 */,
+            "ExceptionAddress at %p instead of %p\n", rec->ExceptionAddress, (char *)code_mem + 0xb);
 
     if (NtCurrentTeb()->Peb->BeingDebugged)
         ok((void *)context->Eax == pRtlRaiseException ||
@@ -403,8 +404,9 @@ static DWORD rtlraiseexception_handler( EXCEPTION_RECORD *rec, EXCEPTION_REGISTR
     trace( "exception: %08x flags:%x addr:%p context: Eip:%x\n",
            rec->ExceptionCode, rec->ExceptionFlags, rec->ExceptionAddress, context->Eip );
 
-    ok(rec->ExceptionAddress == (char *)code_mem + 0xb, "ExceptionAddress at %p instead of %p\n",
-       rec->ExceptionAddress, (char *)code_mem + 0xb);
+    ok(rec->ExceptionAddress == (char *)code_mem + 0xb
+            || broken(rec->ExceptionAddress == code_mem || !rec->ExceptionAddress) /* 2008 */,
+            "ExceptionAddress at %p instead of %p\n", rec->ExceptionAddress, (char *)code_mem + 0xb);
 
     ok( context->ContextFlags == CONTEXT_ALL || context->ContextFlags == (CONTEXT_ALL | CONTEXT_XSTATE) ||
         broken(context->ContextFlags == CONTEXT_FULL),  /* win2003 */
@@ -515,8 +517,10 @@ static DWORD unwind_handler( EXCEPTION_RECORD *rec, EXCEPTION_REGISTRATION_RECOR
 
     ok(rec->ExceptionCode == STATUS_UNWIND, "ExceptionCode is %08x instead of %08x\n",
        rec->ExceptionCode, STATUS_UNWIND);
-    ok(rec->ExceptionAddress == (char *)code_mem + 0x22, "ExceptionAddress at %p instead of %p\n",
-       rec->ExceptionAddress, (char *)code_mem + 0x22);
+    ok(rec->ExceptionAddress == (char *)code_mem + 0x22 || broken(TRUE) /* Win10 1709 */,
+       "ExceptionAddress at %p instead of %p\n", rec->ExceptionAddress, (char *)code_mem + 0x22);
+    ok(context->Eip == (DWORD)code_mem + 0x22, "context->Eip is %08x instead of %08x\n",
+       context->Eip, (DWORD)code_mem + 0x22);
     ok(context->Eax == unwind_expected_eax, "context->Eax is %08x instead of %08x\n",
        context->Eax, unwind_expected_eax);
 




More information about the wine-cvs mailing list