These patches were previously submitted to the wine-devel mailing list; they have been awaiting review since 20 February 2022.
From: Alex Henrie alexhenrie24@gmail.com
Fixes a testbot failure.
Signed-off-by: Alex Henrie alexhenrie24@gmail.com --- dlls/user32/tests/msg.c | 4 ++++ 1 file changed, 4 insertions(+)
diff --git a/dlls/user32/tests/msg.c b/dlls/user32/tests/msg.c index c0a74d8edbe..62aaa322c85 100644 --- a/dlls/user32/tests/msg.c +++ b/dlls/user32/tests/msg.c @@ -18618,7 +18618,11 @@ static const struct message WmRestoreMinimizedSeq[] = { WM_WINDOWPOSCHANGED, sent|wparam|defwinproc, SWP_FRAMECHANGED|SWP_NOCOPYBITS|SWP_STATECHANGED }, { WM_MOVE, sent|defwinproc }, { WM_SIZE, sent|defwinproc }, + { WM_NCCALCSIZE, sent|wparam|defwinproc|optional, 1 }, /* 32-bit Vista sends it */ + { WM_NCPAINT, sent|wparam|defwinproc|optional, 1 }, /* 32-bit Vista sends it */ + { WM_ERASEBKGND, sent|defwinproc|optional }, /* 32-bit Vista sends it */ { EVENT_OBJECT_LOCATIONCHANGE, winevent_hook|wparam|lparam|winevent_hook_todo, 0, 0 }, + { EVENT_OBJECT_LOCATIONCHANGE, winevent_hook|wparam|lparam|optional, 0, 0 }, /* 32-bit Vista sends it */ { EVENT_SYSTEM_MINIMIZEEND, winevent_hook|wparam|lparam|winevent_hook_todo, 0, 0 }, { WM_NCCALCSIZE, sent|wparam|defwinproc|optional, 1 }, { WM_NCPAINT, sent|wparam|defwinproc|optional, 1 },
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=114148
Your paranoid android.
=== w10pro64_zh_CN (64 bit report) ===
user32: msg.c:12806: Test failed: message time not advanced: 14d02 14d02 msg.c:12807: Test failed: coords not changed: (101 101) (101 101) msg.c:12824: Test failed: message time not advanced: 14d02 14d02 msg.c:12825: Test failed: coords not changed: (101 101) (101 101)
From: Alex Henrie alexhenrie24@gmail.com
Fixes a testbot failure.
Signed-off-by: Alex Henrie alexhenrie24@gmail.com --- dlls/user32/tests/msg.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dlls/user32/tests/msg.c b/dlls/user32/tests/msg.c index 62aaa322c85..79ac83db044 100644 --- a/dlls/user32/tests/msg.c +++ b/dlls/user32/tests/msg.c @@ -1437,7 +1437,7 @@ static const struct message WmCreateVisibleChildSeq[] = { { WM_ERASEBKGND, sent|parent|optional }, { WM_WINDOWPOSCHANGED, sent|wparam, SWP_SHOWWINDOW|SWP_NOSIZE|SWP_NOMOVE|SWP_NOACTIVATE|SWP_NOCLIENTSIZE|SWP_NOCLIENTMOVE }, { WM_NCCALCSIZE, sent|wparam|optional, 1 }, /* WinXP */ - { EVENT_OBJECT_LOCATIONCHANGE, winevent_hook|wparam|lparam|winevent_hook_todo, 0, 0 }, + { EVENT_OBJECT_LOCATIONCHANGE, winevent_hook|wparam|lparam|optional, 0, 0 }, /* Not sent on Win2003 or Win2008 */ { 0 } }; /* ShowWindow(SW_SHOW) for a not visible child window */
From: Alex Henrie alexhenrie24@gmail.com
Fixes a testbot failure.
Signed-off-by: Alex Henrie alexhenrie24@gmail.com --- dlls/user32/tests/msg.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/dlls/user32/tests/msg.c b/dlls/user32/tests/msg.c index 79ac83db044..94ad3484b52 100644 --- a/dlls/user32/tests/msg.c +++ b/dlls/user32/tests/msg.c @@ -3493,8 +3493,9 @@ static const struct message WmCreateMDIchildInvisibleMaxSeq4[] = { { WM_WINDOWPOSCHANGED, sent|wparam, SWP_FRAMECHANGED|SWP_NOACTIVATE|SWP_NOSIZE|SWP_NOMOVE|SWP_NOCLIENTSIZE|SWP_NOCLIENTMOVE }, { EVENT_OBJECT_LOCATIONCHANGE, winevent_hook|wparam|lparam|winevent_hook_todo, 0, 0 }, /* MDI frame */ { WM_NCCALCSIZE, sent|wparam|optional, 1 }, /* MDI child */ - { EVENT_OBJECT_LOCATIONCHANGE, winevent_hook|wparam|lparam|winevent_hook_todo, 0, 0 }, /* MDI child */ - { EVENT_OBJECT_LOCATIONCHANGE, winevent_hook|wparam|lparam|winevent_hook_todo, 0, 0 }, /* MDI child */ + /* The next two events are not sent on Windows Server 2003 or 2008 */ + { EVENT_OBJECT_LOCATIONCHANGE, winevent_hook|wparam|lparam|optional, 0, 0 }, /* MDI child */ + { EVENT_OBJECT_LOCATIONCHANGE, winevent_hook|wparam|lparam|optional, 0, 0 }, /* MDI child */ /* Win2k sends wparam set to * MAKEWPARAM(WM_CREATE, MDI_FIRST_CHILD_ID + nTotalCreated), * while Win9x doesn't bother to set child window id according to
From: Alex Henrie alexhenrie24@gmail.com
Fixes a testbot failure.
Signed-off-by: Alex Henrie alexhenrie24@gmail.com --- dlls/user32/tests/msg.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/dlls/user32/tests/msg.c b/dlls/user32/tests/msg.c index 94ad3484b52..a64291f32ea 100644 --- a/dlls/user32/tests/msg.c +++ b/dlls/user32/tests/msg.c @@ -13433,7 +13433,8 @@ static const struct message WmSetWindowRgn_clear[] = { { WM_GETTEXT, sent|defwinproc|optional }, { WM_ERASEBKGND, sent|optional }, { EVENT_OBJECT_LOCATIONCHANGE, winevent_hook|wparam|lparam|winevent_hook_todo, 0, 0 }, - { EVENT_OBJECT_LOCATIONCHANGE, winevent_hook|wparam|lparam|winevent_hook_todo, 0, 0 }, + /* Sequence ends here on Windows Server 2003 and 2008 */ + { EVENT_OBJECT_LOCATIONCHANGE, winevent_hook|wparam|lparam|optional, 0, 0 }, { WM_WINDOWPOSCHANGING, sent|optional }, { WM_NCCALCSIZE, sent|optional|wparam, 1 }, { WM_NCPAINT, sent|optional }, @@ -13444,7 +13445,7 @@ static const struct message WmSetWindowRgn_clear[] = { { WM_NCPAINT, sent|optional }, { WM_GETTEXT, sent|defwinproc|optional }, { WM_ERASEBKGND, sent|optional }, - { EVENT_OBJECT_LOCATIONCHANGE, winevent_hook|wparam|lparam|winevent_hook_todo, 0, 0 }, + { EVENT_OBJECT_LOCATIONCHANGE, winevent_hook|wparam|lparam|optional, 0, 0 }, { EVENT_OBJECT_LOCATIONCHANGE, winevent_hook|wparam|lparam|optional, 0, 0 }, /* Not always sent. */ { 0 } };
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=114151
Your paranoid android.
=== w1064_tsign (32 bit report) ===
user32: msg.c:12807: Test failed: message time not advanced: de59 de59 msg.c:12808: Test failed: coords not changed: (101 101) (101 101) msg.c:12825: Test failed: message time not advanced: de59 de59 msg.c:12826: Test failed: coords not changed: (101 101) (101 101)
=== w10pro64_ar (64 bit report) ===
user32: msg.c:12807: Test failed: message time not advanced: 144b5 144b5 msg.c:12808: Test failed: coords not changed: (101 101) (101 101) msg.c:12825: Test failed: message time not advanced: 144b5 144b5 msg.c:12826: Test failed: coords not changed: (101 101) (101 101)
=== debian11 (32 bit report) ===
user32: msg.c:5147: Test succeeded inside todo block: ShowWindow(hwnd, SW_SHOWNOACTIVATE): minimized overlapped: marked "todo_wine" but succeeds
I think the issue here is, I think, that we don't really care anymore about these versions of Windows, and adding optional messages to match them is only making the message sequences more complex, and less easy to correctly implement.
Hi Rémi, thanks for the feedback. I wanted to make the tests pass on Windows Server 2003 and 2008 because testbot.winehq.org still supports both of them (although they are not enabled by default). After fixing the message tests for those two versions, I was going to drop the message test workarounds for Windows 2000 and earlier, which are no longer supported by the testbot and are definitely causing more trouble than they're worth. If we really do not care about anything before Windows 7 anymore, can we remove the XP, 2003, Vista, and 2008 VMs from the testbot, or at least add a note to the testbot user interface?
On 6/2/22 18:37, Alex Henrie (@alexhenrie) wrote:
Hi Rémi, thanks for the feedback. I wanted to make the tests pass on Windows Server 2003 and 2008 because testbot.winehq.org still supports both of them (although they are not enabled by default). After fixing the message tests for those two versions, I was going to drop the message test workarounds for Windows 2000 and earlier, which are no longer supported by the testbot and are definitely causing more trouble than they're worth. If we really do not care about anything before Windows 7 anymore, can we remove the XP, 2003, Vista, and 2008 VMs from the testbot, or at least add a note to the testbot user interface?
Even if we have removed those VMs from regular rotation, I'd like to ask that the machines remain available for manual testing if possible. Some tests are not interesting unless run with older machines, and I've often found the testbot useful for this.
(Along the same lines I think it's a mistake to drop older test machines for *all* tests, but that's a discussion for another time.)