[PATCH] ntdll/tests: Fix some exception test failures.
Zebediah Figura
z.figura12 at gmail.com
Thu Jan 2 11:33:33 CST 2020
Signed-off-by: Zebediah Figura <z.figura12 at gmail.com>
---
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 44df47466bd..7b77cbb7954 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);
--
2.24.0
More information about the wine-devel
mailing list