On 16/09/06, chromatic <[EMAIL PROTECTED]> wrote:
On Saturday 16 September 2006 01:31, Ovid wrote:
> In this case, Test::Harness and friends report that 'ok 9 # todo' is
> passing, not failing, but I'm reporting the opposite result. I think my
> behavior is more correct because I'm trying to write things so that someone
> who forgets writes a bad harness will still see what's going on.
Ugh. That makes TODO tests just the opposite of normal tests. That's not
easy to explain. "Why not just ! the first argument to ok() or is()?"
Because that reduces the amount of useful information in the test. The
"todoness" is no longer expressed in code and would then have to go
into a comment where it might be overlooked.
When I use a TODO test, I do so for a feature I expect to fail in the near
future but pass -- whether due to my code changing or a dependency working
better -- soon. Why should my modules fail to install because suddenly they
work better? It's a *bonus* that they do so, not a penalty.
I'm agnostic on whether it should pass or fail (perhaps trying to
wedge 3 states into 2 is root of the problem) but to me, a passing
todo test implies that the author doesn't understand either his code
or my environment. Neither are good signs for reliability of the
module,
F