Today writing a testcase I found a "problem" on todo_wine construct. In short :
void first_test_part() { ok(test1(), "failed\n"); }
void second_test_part() { ok(test2(), "failed\n"); }
todo_wine { first_test_part(); second_test_part(); }
this "fails" (i.e. is marked as passing inside todo_wine block) if first_test_part() passes, which is not what wished; in this case the test should be considered passing if BOTH first and second part passes, and failed otherwise. The problem arose on bitmap creation test (gdiplus) on which the testcase should check for creation success AND bitmap internal consiscency. My example is short, but in my case there's a single function used to test many kind of bitmaps; that's impossible to do with todo_wine actual construct. It could be obviously separated into many functions, each enclosed on its own todo_wine, but this would vanify the "single test function for many bitmaps types" way.
Max