[PATCH v3 0/6] MR217: windows.media.speech: ISpeechSynthesisStream stub implementation.
Rémi Bernon (@rbernon)
wine at gitlab.winehq.org
Fri Jun 10 05:25:15 CDT 2022
RÃ©mi Bernon (@rbernon) commented about dlls/windows.media.speech/tests/speech.c:
> compilation_result = (void*)0xdeadbeef;
> hr = IAsyncOperation_SpeechRecognitionCompilationResult_GetResults(operation, &compilation_result);
> + if (hr == S_OK) /* Sometimes the operation could have already finished here, */
> + goto skip_await; /* if so skip waiting and getting the results a second time. */
I'd suggest to simply remove that racy `GetResult` check, but otherwise what about changing the check to `ok(hr == E_ILLEGAL_METHOD_CALL || hr == S_OK, ...)`, and then and putting the rest in an `if (hr == E_ILLEGAL_METHOD_CALL)` block?
Gotos are more often used to skip tests after a todo_wine, so that implementing the call only require to remove the todo_wine and the goto, but for normal control flow I think ifs are better.
More information about the wine-devel