Rémi Bernon (@rbernon) commented about dlls/mfmediaengine/tests/mfmediaengine.c:
+ if (FAILED(notify.error)) + { + todo_wine_if(tested_formats[i].engine_todo) + ok((notify.error == MF_E_INVALIDMEDIATYPE || broken(notify.error == E_INVALIDARG || notify.error == E_UNEXPECTED)) + && (tested_formats[i].bad_fmt || broken(!tested_formats[i].bad_fmt)), /* Broken: Some formats aren't working on VMs. */ + "Media engine reported unexpected error %#lx on %s format.\n", notify.error, tested_formats[i].bad_fmt ? "bad" : "good"); + + skip("Had error %#lx.\n", notify.error); + goto skip_transfer; + } + else + { + todo_wine_if(tested_formats[i].engine_todo) + ok(!tested_formats[i].bad_fmt || broken(tested_formats[i].bad_fmt), /* Broken: Some formats aren't working on VMs. */ + "Media engine reported unexpected error %#lx on %s format.\n", notify.error, tested_formats[i].bad_fmt ? "bad" : "good"); + } I think that this should perhaps instead be a condition on whether you expect an error or not (`bad_fmt`), then, once you checked that. Then you can have an extra check whether to skip the rest of the test depending on if wine returned an error when it shouldn't have.
-- https://gitlab.winehq.org/wine/wine/-/merge_requests/1046#note_17229