On 6/14/11 10:55 AM, Frédéric Delanoy wrote:
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).

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


Reply via email to