On 31.01.2020 16:32, RĂ©mi Bernon wrote:
todo_wine
ok((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