FWIW the tests succeed on real hardware for me (64 bit, xstate supported) on Win7 and Win10 (latest; the broken case is not hit). I suspect the fall into broken case has something to do with VM specifics, so I am inclined to leave it broken at least for now but change the comment.
Regarding the failure on 32 bit CPUs, I think I should just drop the part of the test which converts the old structure layout and this will skip the tests on Win7/8 regardless of CPU type. I guess the old Win internal structure layout testing is not much interesting, especially for 32 bit CPUs.
On 5/26/21 14:13, Francois Gouget wrote:
On Thu, 20 Aug 2020, Paul Gofman wrote: [...]
--- a/dlls/ntdll/tests/virtual.c +++ b/dlls/ntdll/tests/virtual.c @@ -516,9 +516,34 @@ static void test_NtMapViewOfSection(void)
[...]
- for (i = 0; i < ARRAY_SIZE(feature_sizes); ++i)
- {
ok(xstate.AllFeatures[i] == feature_sizes[i], "Got unexpected AllFeatures[%u] %u, expected %u.\n", i,
xstate.AllFeatures[i], feature_sizes[i]);
ok(xstate.Features[i].Size == feature_sizes[i], "Got unexpected Features[%u].Size %u, expected %u.\n", i,
xstate.Features[i].Size, feature_sizes[i]);
This test has failures on w7u and Windows 8.1: https://test.winehq.org/data/patterns.html#ntdll:virtual
- I suspect it mishandles 32-bit CPUs which would explain the failure on w7u.
- For Windows 8.1 it may just be a broken behavior (which is masked on the TestBot because w8 and w864 skip this test).
- Finally there was a broken() case that was introduced for win10pro but in fact it is necessary for all Windows 10 versions. So at a minimum the comment should be changed. But I'm not sure it makes sense to consider the behavior broken.
I've created a bug report to keep track of all that: https://bugs.winehq.org/show_bug.cgi?id=51188
Could you have a look?