[2/3] cmd/tests: Add support for todo_wine constructions (try 2)

Frédéric Delanoy frederic.delanoy at gmail.com
Tue Jun 14 03:55:18 CDT 2011


011/6/14 Jacek Caban <jacek at codeweavers.com>:
> 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).



More information about the wine-devel mailing list