SPUG: redux: misunderstanding (or bug) with $Test::More::TODO

Tye McQueen tyemq at cpan.org
Mon Dec 29 16:55:05 PST 2008


The difference that is produced and correct, is the addition of:

 TODO passed:   2

in the prove output (which is triggered by the correct addition of "# TODO
..." in the perl output).

Tye

On Mon, Dec 29, 2008 at 2:29 PM, Michael R. Wolf <MichaelRWolf at att.net>wrote:

> Sorry, all.  In my attempt to keep my original posting short, I must have
> been too cryptic because I had already tried everything that got suggested.
>  (Thanks for the replies.  Sorry for misleading you).
>
> Let me try again.
>
> I cannot trigger the documented behavior of a TODO block within Test::More
> using ok().  To test this, I have created two files.  Contrary to my
> understanding of the documentation (perldoc Test::More), I cannot get the
> two files to behave differently, either with perl(1) or prove(1).  Here is a
> complete listing of the files, and the output.
>
> I get an "ok" on the second test, regardless of perl/prove or
> inside/outside a TODO block.  (I *did* notice that the *comment* was
> different, but if it doesn't trigger a different *response* that's testable,
> so what?)
>
> I get a 0 return code (indicating success) in all 4 runs (2 files * 2 runs
> (1 each for perl(1) and prove(1)).  I was expecting that the "success" in a
> TODO would "report it as an unexpected success".  No dice.
>
> Ideas?
>
> Is TODO broken?
>
> Has anyone really used TODO, and gotten the documented behavior?  (I'm
> seeming to remember a message from Schwern (a few years ago) that TODO
> doesn't really work.)
>
> Thanks (and again, sorry for the too-short previous posting)
> Michael
>
> $ nl -ba t_m_trivial.t
>     1  #! /usr/bin/perl
>     2
>     3  use Test::More tests => 2;
>     4
>     5  ok(1, 'normal true value 1');
>     6
>     7  ok(2, 'normal true value 2');
> $ nl -ba t_m_trivial_w_todo.t
>     1  #! /usr/bin/perl
>     2
>     3  use Test::More tests => 2;
>     4
>     5  ok(1, 'normal true value 1');
>     6
>     7  TODO: {
>     8      local $TODO = 'understand $Test::More::TODO';
>     9      ok(2, 'normal true value 2 inside a TODO block');
>    10  }
> $ perl t_m_trivial.t; echo $?
> 1..2
> ok 1 - normal true value 1
> ok 2 - normal true value 2
> 0
> $ prove t_m_trivial.t; echo $?
> t_m_trivial....ok
> All tests successful.
> Files=1, Tests=2,  0 wallclock secs ( 0.03 usr  0.00 sys +  0.02 cusr  0.00
> csys =  0.05 CPU)
> Result: PASS
> 0
> $ perl t_m_trivial_w_todo.t; echo $?
> 1..2
> ok 1 - normal true value 1
> ok 2 - normal true value 2 inside a TODO block # TODO understand
> $Test::More::TODO
> 0
> $ prove t_m_trivial_w_todo.t; echo $?
> t_m_trivial_w_todo....ok
> All tests successful.
>
> Test Summary Report
> -------------------
> t_m_trivial_w_todo (Wstat: 0 Tests: 2 Failed: 0)
>  TODO passed:   2
> Files=1, Tests=2,  0 wallclock secs ( 0.02 usr  0.00 sys +  0.02 cusr  0.00
> csys =  0.04 CPU)
> Result: PASS
> 0
> $ WTF?
> bash: WTF?: command not found
> $
>
>
>
> Michael R. Wolf
>    All mammals learn by playing!
>        MichaelRWolf at att.net
>
>
>
> _____________________________________________________________
> Seattle Perl Users Group Mailing List
>    POST TO: spug-list at pm.org
> SUBSCRIPTION: http://mail.pm.org/mailman/listinfo/spug-list
>   MEETINGS: 3rd Tuesdays
>   WEB PAGE: http://seattleperl.org/
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.pm.org/pipermail/spug-list/attachments/20081229/7647d447/attachment-0001.html>


More information about the spug-list mailing list