Peter Oberndorfer : ntdll: Add broken() to two test cases.

Alexandre Julliard julliard at winehq.org
Wed Jul 2 06:03:31 CDT 2008


Module: wine
Branch: master
Commit: 9cd60e20242646b2f070892226dd79ee59ac2764
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=9cd60e20242646b2f070892226dd79ee59ac2764

Author: Peter Oberndorfer <kumbayo84 at arcor.de>
Date:   Tue Jul  1 21:53:09 2008 +0200

ntdll: Add broken() to two test cases.

---

 dlls/ntdll/tests/exception.c |    9 +++++++--
 1 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/dlls/ntdll/tests/exception.c b/dlls/ntdll/tests/exception.c
index 8116503..3a9b65d 100644
--- a/dlls/ntdll/tests/exception.c
+++ b/dlls/ntdll/tests/exception.c
@@ -169,6 +169,11 @@ static const struct exception
       0, 5, STATUS_ACCESS_VIOLATION, 2, { 1, 0xfffffffe } },
     { { 0xa3, 0xff, 0xff, 0xff, 0xff, 0xc3 },  /* movl %eax,0xffffffff; ret */
       0, 5, STATUS_ACCESS_VIOLATION, 2, { 1, 0xffffffff } },
+
+    /* test exception with cleared %ds and %es */
+    { { 0x1e, 0x06, 0x31, 0xc0, 0x8e, 0xd8, 0x8e, 0xc0, 0xfa, 0x07, 0x1f, 0xc3 },
+          /* push %ds; push %es; xorl %eax,%eax; mov %ax,%ds; mov %ax,%es; cli; pop %es; pop %ds; ret */
+      8, 1, STATUS_PRIVILEGED_INSTRUCTION, 0 },
 };
 
 static int got_exception;
@@ -216,7 +221,7 @@ LONG CALLBACK rtlraiseexception_vectored_handler(EXCEPTION_POINTERS *ExceptionIn
     if(rec->ExceptionCode == EXCEPTION_BREAKPOINT)
     {
         ok(context->Eip == (DWORD)code_mem + 0xa ||
-           context->Eip == (DWORD)code_mem + 0xb, /* win2k3 */
+           broken(context->Eip == (DWORD)code_mem + 0xb), /* win2k3 */
            "Eip at %x instead of %x or %x\n", context->Eip,
            (DWORD)code_mem + 0xa, (DWORD)code_mem + 0xb);
     }
@@ -248,7 +253,7 @@ static DWORD rtlraiseexception_handler( EXCEPTION_RECORD *rec, EXCEPTION_REGISTR
     if(rec->ExceptionCode == EXCEPTION_BREAKPOINT)
     {
         ok(context->Eip == (DWORD)code_mem + 0xa ||
-           context->Eip == (DWORD)code_mem + 0xb, /* win2k3 */
+           broken(context->Eip == (DWORD)code_mem + 0xb), /* win2k3 */
            "Eip at %x instead of %x or %x\n", context->Eip,
            (DWORD)code_mem + 0xa, (DWORD)code_mem + 0xb);
     }




More information about the wine-cvs mailing list