Paul Gofman : ntdll/tests: Fix exception test failures on win10pro.
Alexandre Julliard
julliard at winehq.org
Mon Sep 7 16:12:55 CDT 2020
Module: wine
Branch: master
Commit: 0c857e92cb424bd7189b76b4035926f1688ab1e9
URL: https://source.winehq.org/git/wine.git/?a=commit;h=0c857e92cb424bd7189b76b4035926f1688ab1e9
Author: Paul Gofman <pgofman at codeweavers.com>
Date: Mon Sep 7 16:31:19 2020 +0300
ntdll/tests: Fix exception test failures on win10pro.
Signed-off-by: Paul Gofman <pgofman at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/ntdll/tests/exception.c | 24 ++++++++++++++++--------
1 file changed, 16 insertions(+), 8 deletions(-)
diff --git a/dlls/ntdll/tests/exception.c b/dlls/ntdll/tests/exception.c
index 465c123e67..c26cfb4a11 100644
--- a/dlls/ntdll/tests/exception.c
+++ b/dlls/ntdll/tests/exception.c
@@ -6962,12 +6962,14 @@ static void test_extended_context(void)
length = 0xdeadbeef;
ret = pRtlGetExtendedContextLength2(flags, &length, 0);
- ok(!ret && length == expected_length_xstate - sizeof(YMMCONTEXT),
+ ok((!ret && length == expected_length_xstate - sizeof(YMMCONTEXT))
+ || broken(!ret && length == expected_length_xstate) /* win10pro */,
"Got unexpected result ret %#x, length %#x, test %u.\n", ret, length, test);
length = 0xdeadbeef;
ret = pRtlGetExtendedContextLength2(flags, &length, 3);
- ok(!ret && length == expected_length_xstate - sizeof(YMMCONTEXT),
+ ok((!ret && length == expected_length_xstate - sizeof(YMMCONTEXT))
+ || broken(!ret && length == expected_length_xstate) /* win10pro */,
"Got unexpected result ret %#x, length %#x, test %u.\n", ret, length, test);
length = 0xdeadbeef;
@@ -7149,7 +7151,9 @@ static void test_extended_context(void)
length2 = 0xdeadbeef;
p = pRtlLocateExtendedFeature(context_ex, 2, &length2);
- ok(!p && length2 == sizeof(YMMCONTEXT), "Got unexpected p %p, length %#x, flags %#x.\n", p, length2, flags);
+ ok((!p && length2 == sizeof(YMMCONTEXT))
+ || broken(p && length2 == sizeof(YMMCONTEXT)) /* win10pro */,
+ "Got unexpected p %p, length %#x, flags %#x.\n", p, length2, flags);
length2 = 0xdeadbeef;
p = pLocateXStateFeature(context, 2, &length2);
@@ -7171,7 +7175,8 @@ static void test_extended_context(void)
- context_arch[test].context_length;
ok(context_ex->XState.Offset == expected_offset,
"Got unexpected Offset %d, flags %#x.\n", context_ex->XState.Offset, flags);
- ok(context_ex->XState.Length == sizeof(XSTATE) - sizeof(YMMCONTEXT),
+ ok(context_ex->XState.Length == sizeof(XSTATE) - sizeof(YMMCONTEXT)
+ || broken(context_ex->XState.Length == sizeof(XSTATE)) /* win10pro */,
"Got unexpected Length %#x, flags %#x.\n", context_ex->XState.Length, flags);
ok(context_ex->All.Offset == -(int)context_arch[test].context_length,
@@ -7267,7 +7272,8 @@ static void test_extended_context(void)
context->ContextFlags);
expected_compaction = compaction_enabled ? (ULONG64)1 << 63 : 0;
- ok(!xs->Mask, "Got unexpected Mask %s.\n", wine_dbgstr_longlong(xs->Mask));
+ ok(!xs->Mask || broken(xs->Mask == 4) /* win10pro */,
+ "Got unexpected Mask %s.\n", wine_dbgstr_longlong(xs->Mask));
ok(xs->CompactionMask == expected_compaction, "Got unexpected CompactionMask %s.\n",
wine_dbgstr_longlong(xs->CompactionMask));
@@ -7275,7 +7281,7 @@ static void test_extended_context(void)
ok(data[i] == test_extended_context_data[i], "Got unexpected data %#x, i %u.\n", data[i], i);
for (i = 0; i < 4; ++i)
- ok(((ULONG *)&xs->YmmContext)[i] == 0xcccccccc,
+ ok(((ULONG *)&xs->YmmContext)[i] == (xs->Mask == 4 ? test_extended_context_data[i + 4] : 0xcccccccc),
"Got unexpected data %#x, i %u.\n", ((ULONG *)&xs->YmmContext)[i], i);
expected_compaction = compaction_enabled ? ((ULONG64)1 << 63) | 4 : 0;
@@ -7292,7 +7298,8 @@ static void test_extended_context(void)
ok(xs->CompactionMask == 4, "Got unexpected CompactionMask %s.\n",
wine_dbgstr_longlong(xs->CompactionMask));
for (i = 0; i < 4; ++i)
- ok(((ULONG *)&xs->YmmContext)[i] == 0xcccccccc,
+ ok(((ULONG *)&xs->YmmContext)[i] == 0xcccccccc
+ || broken(((ULONG *)&xs->YmmContext)[i] == test_extended_context_data[i + 4]) /* win10pro */,
"Got unexpected data %#x, i %u.\n", ((ULONG *)&xs->YmmContext)[i], i);
xs->CompactionMask = 4;
@@ -7307,7 +7314,8 @@ static void test_extended_context(void)
ok(xs->CompactionMask == expected_compaction, "Got unexpected CompactionMask %s.\n",
wine_dbgstr_longlong(xs->CompactionMask));
for (i = 0; i < 4; ++i)
- ok(((ULONG *)&xs->YmmContext)[i] == 0xcccccccc,
+ ok(((ULONG *)&xs->YmmContext)[i] == 0xcccccccc
+ || broken(((ULONG *)&xs->YmmContext)[i] == test_extended_context_data[i + 4]) /* win10pro */,
"Got unexpected data %#x, i %u.\n", ((ULONG *)&xs->YmmContext)[i], i);
context_ex->XState.Length = sizeof(XSTATE);
More information about the wine-cvs
mailing list