Nikolay Sivov (@nsivov) commented about dlls/comctl32/tests/misc.c:
winetest_push_context("v%d", v6 ? 6 : 5);
- for (i = 0; i < ARRAY_SIZE(class_names); i++) + for (i = 0; i < ARRAY_SIZE(tests); i++) { - ret = pRegisterClassNameW(class_names[i]); - if (v6) - ok(ret, "RegisterClassNameW %s failed, error %lu.\n", wine_dbgstr_w(class_names[i]), GetLastError()); + ret = pRegisterClassNameW(tests[i].class_name); + if (!v6 && tests[i].v6_only) + ok(!ret, "RegisterClassNameW %s succeeded.\n", wine_dbgstr_w(tests[i].class_name)); else - ok(!ret, "RegisterClassNameW %s succeeded.\n", wine_dbgstr_w(class_names[i])); + todo_wine_if(i > 5) + ok(ret, "RegisterClassNameW %s failed, error %lu.\n", wine_dbgstr_w(tests[i].class_name), GetLastError()); }
Let's have two name lists instead, and two loops. Those extra flags and conditions while making it generic do not make it easier to understand. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/9822#note_126065