Paul Gofman (@gofman) commented about dlls/mmdevapi/tests/render.c:
else
/* On testbot 48000x16x1 claims support, but does not Initialize.
* Some cards Initialize 44100|48000x16x1 yet claim no support;
* F. Gouget's w7 bots do that for 12000|96000x8|16x1|2 */
todo_wine_if(fmt.nChannels > 2 && hr == AUDCLNT_E_EXCLUSIVE_MODE_NOT_ALLOWED)
/* For some drivers Initialize() doesn't match IsFormatSupported(). */
todo_wine_if(fmt.Format.nChannels > 2 && hr == AUDCLNT_E_EXCLUSIVE_MODE_NOT_ALLOWED) ok(hrs == S_OK ? hr == S_OK || broken(hr == AUDCLNT_E_ENDPOINT_CREATE_FAILED) : hr == AUDCLNT_E_ENDPOINT_CREATE_FAILED || hr == AUDCLNT_E_UNSUPPORTED_FORMAT ||
(hr == E_INVALIDARG && fmt.nChannels > 2) ||
broken(hr == S_OK &&
((fmt.nChannels == 1 && fmt.wBitsPerSample == 16) ||
(fmt.nSamplesPerSec == 12000 || fmt.nSamplesPerSec == 96000))),
"Initialize(exclus., %c%lux%2ux%u, RATEADJUST) returns %08lx\n",
format_chr, fmt.nSamplesPerSec, fmt.wBitsPerSample, fmt.nChannels, hr);
(hr == E_INVALIDARG && fmt.Format.nChannels > 2 && !extensible) || broken(hr == S_OK),
I'd suggest to avoid such complicated and multivariant conditions in tests (there are also more like that), it is very hard to follow. E. g., maybe establish the condition whether the call is supposed to succeed or not and have separate ok's, and then maybe additionally split other cases, or, if the variance for how that fails depends on hardware configuration or Windows version maybe we don't care about detail of every failure status and can just limit those details to simplify the condition. Also, it seems like that this tests accepts just any result in the sense we care for: e. g., for hrs == S_OK it can be either S_OK or AUDCLNT_E_UNSUPPORTED_FORMAT. Is it really random in such cases across hardware whether it is OK or UNSUPPORTED_FORMAT? Or if it varies across different format and other cases, I think it would be valuable to distinguish in test when it is OK and when not, that seems to be directly related to the Wine implementation parts being touched. If that varies across Wind ows version I'd suggest to keep the latest as expected variant and keep the rest in broken().