[2/3] cmd/tests: Add support for todo_wine constructions (try 2)
Jacek Caban
jacek at codeweavers.com
Tue Jun 14 04:19:38 CDT 2011
On 6/14/11 10:55 AM, Frédéric Delanoy wrote:
> 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).
I was talking about something like this:
}else {
if(!is_todo_wine)
...
else todo_wine
ok(!err, ...);
}
If the tests succeeded, err will be NULL, so this ok will produce "Test
succeeded inside todo block" error.
Jacek
More information about the wine-devel
mailing list