This is mostly an attempt to consolidate all the duplicated logic for matching the expected message sequence with the actual message sequence. Other improvements: * It seems that winevent_hook_todo wasn't previously reporting cases where Wine correctly sends the event. * More clarity about which type of message was received when there's a mismatch. * If a message doesn't match, and does not exist in the expected sequence, only the actual message will be skipped. Otherwise, only the expected message will be skipped. This isn't perfect, but I think it will help make the output from failures more readable. * Fixed dump_sequence not printing anything for WM_NCCALCSIZE with wParam == FALSE. Unfortunately, this is going to change the test output, so it will probably break the patterns for testbot detecting known failures. Sorry, Francois. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/3492