[PATCH 0/1] MR8039: windows.media.speech/tests: Make refcount tests results deterministic.
GetResults on IInspectable async operation is supposed to clear the async reference too but we don't do that yet. Releasing the async first makes the refcount non-deterministic as the task may hold onto the results for a bit longer, this reverts this part from the commit below and flags the refcount test as todo_wine. Fixes: 82771d3343bffca73873de4029149de0197d88c9 -- https://gitlab.winehq.org/wine/wine/-/merge_requests/8039
From: Rémi Bernon <rbernon(a)codeweavers.com> GetResults on IInspectable async operation is supposed to clear the async reference too but we don't do that yet. Releasing the async first makes the refcount non-deterministic as the task may hold onto the results for a bit longer, this reverts this part from the commit below and flags the refcount test as todo_wine. Fixes: 82771d3343bffca73873de4029149de0197d88c9 --- dlls/windows.media.speech/tests/speech.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/dlls/windows.media.speech/tests/speech.c b/dlls/windows.media.speech/tests/speech.c index 7da2457bf38..422df544d59 100644 --- a/dlls/windows.media.speech/tests/speech.c +++ b/dlls/windows.media.speech/tests/speech.c @@ -949,8 +949,6 @@ static void test_SpeechSynthesizer(void) todo_wine ok(tmp == NULL, "Got %p.\n", tmp); if (tmp && tmp != (void *)0xdeadbeef) ISpeechSynthesisStream_Release(tmp); - IAsyncOperation_SpeechSynthesisStream_Release(operation_ss_stream); - hr = ISpeechSynthesisStream_get_Markers(ss_stream, &media_markers); ok(hr == S_OK, "ISpeechSynthesisStream_get_Markers failed, hr %#lx\n", hr); check_interface(media_markers, &IID_IVectorView_IMediaMarker, TRUE); @@ -961,7 +959,9 @@ static void test_SpeechSynthesizer(void) ok(ref == 0, "Got unexpected ref %lu.\n", ref); ref = ISpeechSynthesisStream_Release(ss_stream); - ok(ref == 0, "Got unexpected ref %lu.\n", ref); + todo_wine ok(ref == 0, "Got unexpected ref %lu.\n", ref); + + IAsyncOperation_SpeechSynthesisStream_Release(operation_ss_stream); /* Test SynthesizeSsmlToStreamAsync */ hr = WindowsCreateString(simple_ssml, wcslen(simple_ssml), &str2); @@ -981,10 +981,11 @@ static void test_SpeechSynthesizer(void) ok(hr == S_OK, "IAsyncOperation_SpeechSynthesisStream_GetResults failed, hr %#lx\n", hr); check_interface(ss_stream, &IID_ISpeechSynthesisStream, TRUE); check_interface(ss_stream, &IID_IAgileObject, TRUE); - IAsyncOperation_SpeechSynthesisStream_Release(operation_ss_stream); ref = ISpeechSynthesisStream_Release(ss_stream); - ok(ref == 0, "Got unexpected ref %lu.\n", ref); + todo_wine ok(ref == 0, "Got unexpected ref %lu.\n", ref); + + IAsyncOperation_SpeechSynthesisStream_Release(operation_ss_stream); operation_ss_stream = (void *)0xdeadbeef; hr = ISpeechSynthesizer_SynthesizeSsmlToStreamAsync(synthesizer, NULL, &operation_ss_stream); -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/8039
participants (1)
-
Rémi Bernon