On 31.01.2020 16:32, Rémi Bernon wrote:
todo_wineok((ret = ContinueDebugEvent(de.dwProcessId, de.dwThreadId, DBG_REPLY_LATER)) || broken(!ret) /* only on w10 > 1507 */,"ContinueDebugEvent DBG_REPLY_LATER failed\n");if (!ret)skip("Skipping unsupported DBG_REPLY_LATER tests\n");
It's not really important so feel free to ignore, but win_skip could be slightly cleaner than broken(). I would write it as:
if (ContinueDebugEvent(...))
{
}
else todo_wine win_skip(....);
else{DEBUG_EVENT delayed_de;ok(WaitForDebugEvent(&delayed_de, 50), "reading delayed debug event\n");ok(de.dwDebugEventCode == delayed_de.dwDebugEventCode, "delayed event differ, code:%x was:%x\n", delayed_de.dwDebugEventCode, de.dwDebugEventCode);ok(de.dwProcessId == delayed_de.dwProcessId, "delayed event differ, pid:%x was:%x\n", delayed_de.dwProcessId, de.dwProcessId);ok(de.dwThreadId == delayed_de.dwThreadId, "delayed event differ, tid:%x was:%x\n", delayed_de.dwThreadId, de.dwThreadId);}
It would be interesting to do a bit more here. I would suggest to suspend thread, poll for events and make sure it's not reported. Then resume the thread and check that it's reported.
Thanks,
Jacek