011/6/14 Jacek Caban <[email protected]>: > Hi Frédéric, > > On 6/13/11 10:19 PM, Frédéric Delanoy wrote: >> >> + }else if(err) { >> + if (!is_todo_wine) >> + ok(0, "unexpected char 0x%x position %d in line %d (got >> '%.*s', wanted '%.*s')\n", >> + *err, (int)(err-out_ptr), line, (int)(out_nl-out_ptr), >> + out_ptr, (int)(exp_nl-exp_ptr), exp_ptr); >> + else >> + todo_wine >> + ok(0, "unexpected char 0x%x position %d in line %d (got >> '%.*s', wanted '%.*s')\n", >> + *err, (int)(err-out_ptr), line, (int)(out_nl-out_ptr), >> out_ptr, >> + (int)(exp_nl-exp_ptr-sizeof(todo_wine_cmd)), >> exp_ptr+sizeof(todo_wine_cmd)); > > You may change tests to ok(!err, ....) here and make this else unconditional > to avoid having ok(TRUE, ...) tests later.
Which else are you talking about? The following ok(TRUE,...) serves when there's a todo_wine which has "succeeded", to get messages like "Test succeeded inside todo block: match at line XXX" Without it (i.e. without at least one "true" OK), successful todos aren't caught, as Dan Kegel pointed out (and I've verified).
