If it succeeds inside a todo then it's counted as failure. If it fails as expected it's not counted.
This is correct. If test passes but is marked as todo it is a failure.
I see, to detect if some test now works while it used to fail, I guess? Makes sense, but goes directly against the comments:
static LONG todo_successes; /* number of successful tests inside todo block static LONG todo_failures; /* number of failures inside todo block */
According to this, it's the other way round. Or at least it's misunderstandable. But if it's working as intended, please ignore my patch. But could we maybe rename these variables and change these comments so it's easier to understand?
Regards, Fabian Maurer