From: Francois Gouget <fgouget(a)codeweavers.com> tryok() can be used to work around scheduling delays. --- This provides an attempt_failed() use case. --- dlls/mmdevapi/tests/render.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/dlls/mmdevapi/tests/render.c b/dlls/mmdevapi/tests/render.c index 8e000f03acb..b9955975158 100644 --- a/dlls/mmdevapi/tests/render.c +++ b/dlls/mmdevapi/tests/render.c @@ -2211,10 +2211,9 @@ static void test_worst_case(void) hr = IAudioClient_Start(ac); ok(hr == S_OK, "Start failed: %08lx\n", hr); - for(i = 0; i <= 99; i++){ /* 100 x 10ms = 1 second */ + for(i = 0; i <= 99 && !attempt_failed(); i++){ /* 100 x 10ms = 1 second */ r = WaitForSingleObject(event, 60 + defp / 10000); - flaky_wine - ok(r == WAIT_OBJECT_0, "Wait iteration %d gave %lx\n", i, r); + tryok(r == WAIT_OBJECT_0, "Wait iteration %d gave %lx\n", i, r); /* the app has nearly one period time to feed data */ Sleep((i % 10) * defp / 120000); @@ -2413,7 +2412,7 @@ START_TEST(render) test_simplevolume(); test_volume_dependence(); test_session_creation(); - test_worst_case(); + LOOP_ON_FLAKY_WINE_TESTS(3) test_worst_case(); test_endpointvolume(); IMMDevice_Release(dev); -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/3418