Windows 10 1809+ rejects this minimal image so allow ERROR_BAD_EXE_FORMAT as a valid result. Also adjust the comment to reflect the range of Windows versions that usually accept this image and note that there are some exceptions which means there are other unidentified factors at play.
Wine-Bug: https://bugs.winehq.org//show_bug.cgi?id=51185 Signed-off-by: Francois Gouget fgouget@codeweavers.com --- v2: Fixed v1's comment to match the platforms this test accutally succeeds on.
w7u (32-bit Windows 7) rejects this image but not w7pro64. cw-rx460 (64-bit Windows 8.1) also rejects this image but not cw-gtx560, w8 and w864. So this image is sometimes rejected by Windows versions that are expected to accept it without the reason being known. https://test.winehq.org/data/patterns.html#kernel32:loader --- dlls/kernel32/tests/loader.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/dlls/kernel32/tests/loader.c b/dlls/kernel32/tests/loader.c index 1db68a191a3..4ec77670f8c 100644 --- a/dlls/kernel32/tests/loader.c +++ b/dlls/kernel32/tests/loader.c @@ -860,7 +860,10 @@ static void test_Loader(void) 0, { ERROR_SUCCESS, ERROR_BAD_EXE_FORMAT } /* vista is more strict */ }, - /* Minimal PE image that Windows7 is able to load: 268 bytes */ + /* Minimal PE image initially created for Windows 7 and accepted from + * Vista up to Windows 10 1709 with some unexplained exceptions: + * 268 bytes + */ { 0x04, 0, 0xf0, /* optional header size just forces 0xf0 bytes to be written, 0 or another number don't change the behaviour, what really @@ -868,7 +871,7 @@ static void test_Loader(void) 0x04 /* also serves as e_lfanew in the truncated MZ header */, 0x04, 0x40, /* minimal image size that Windows7 accepts */ 0, - { ERROR_SUCCESS } + { ERROR_SUCCESS, ERROR_BAD_EXE_FORMAT } /* rejected by win10 1809+ */ }, /* the following data mimics the PE image which 8k demos have */ { 0x04,
Hi,
While running your changed tests, I think I found new failures. Being a bot and all I'm not very good at pattern recognition, so I might be wrong, but could you please double-check?
Full results can be found at: https://testbot.winehq.org/JobDetails.pl?Key=94220
Your paranoid android.
=== w1064 (32 bit report) ===
kernel32: loader.c:720: Test failed: 1189: wrong status c000012f/c000011b loader.c:720: Test failed: 1194: wrong status c000012f/c000011b loader.c:720: Test failed: 1194: wrong status c000012f/c000011b loader.c:720: Test failed: 1194: wrong status c000012f/c0000131 loader.c:720: Test failed: 1194: wrong status c000012f/c000011b loader.c:720: Test failed: 1194: wrong status c000012f/c000011b loader.c:720: Test failed: 1194: wrong status c000012f/c0000130 loader.c:720: Test failed: 1194: wrong status c000012f/c000011b loader.c:720: Test failed: 1194: wrong status c000012f/c000011b loader.c:720: Test failed: 1194: wrong status c000012f/c000011b loader.c:720: Test failed: 1194: wrong status c000012f/c000011b loader.c:720: Test failed: 1194: wrong status c000012f/c000011b loader.c:720: Test failed: 1194: wrong status c000012f/c000011b loader.c:720: Test failed: 1194: wrong status c000012f/c000011b loader.c:720: Test failed: 1194: wrong status c000012f/c000011b loader.c:720: Test failed: 1194: wrong status c000012f/c000011b loader.c:720: Test failed: 1194: wrong status c000012f/c000011b loader.c:720: Test failed: 1211: wrong status c000012f/c0000130 loader.c:720: Test failed: 1216: wrong status c000012f/c0000130 loader.c:720: Test failed: 1221: wrong status c000012f/c000007b loader.c:720: Test failed: 1226: wrong status c000012f/c000007b loader.c:720: Test failed: 1231: wrong status c000012f/c000007b loader.c:720: Test failed: 1236: wrong status c000012f/c000007b loader.c:720: Test failed: 1241: wrong status c000012f/c000007b loader.c:720: Test failed: 1257: wrong status c000012f/0 loader.c:720: Test failed: 1261: wrong status c000012f/0 loader.c:720: Test failed: 1266: wrong status c000012f/0
On Mon, 19 Jul 2021, Marvin wrote: [...]
=== w1064 (32 bit report) ===
kernel32: loader.c:720: Test failed: 1189: wrong status c000012f/c000011b loader.c:720: Test failed: 1194: wrong status c000012f/c000011b
[...]
loader.c:720: Test failed: 1236: wrong status c000012f/c000007b loader.c:720: Test failed: 1241: wrong status c000012f/c000007b loader.c:720: Test failed: 1257: wrong status c000012f/0 loader.c:720: Test failed: 1261: wrong status c000012f/0 loader.c:720: Test failed: 1266: wrong status c000012f/0
This is rare enough for the TestBot to not have seen these failures on this particular test configuration; but this is not new:
https://test.winehq.org/data/f8e696503683a99970e7d27e3796e1c5d045328c/win180... https://test.winehq.org/data/adffa11609093c3c21cf43970bbecda1b2c43eb1/win200... https://test.winehq.org/data/9172ca5baa27b0c929b14a49f60333613cc30c65/win200... https://test.winehq.org/data/7fdb78e80bf3a8ea6d165d320c0db76192325069/win200... ...