# New Ticket Created by  Gabor Szabo 
# Please include the string:  [perl #131767]
# in the subject line of all future correspondence about this issue. 
# <URL: https://rt.perl.org/Ticket/Display.html?id=131767 >


We have a test marked todo in Bailador. prove6 displays the failure as follows:

$ prove6 -l t/30-examples-app.t
t/30-examples-app.t ..1/15
    # Failed test 'route GET /hello/Foo.html'
    # at t/30-examples-app.t line 68
    # expected: $[200, [:Content-Type("text/html")], "Hello Foo.html!"]
    #      got: $[404, [:Content-Type("text/html;charset=UTF-8")],
"<html>\n    <head>\n        <title>Custom 404 page</title>\n
<meta charset=\"UTF-8\">\n    </head>\n    <body>\n        <h1>Hello,
this is 404 for you.</h1>\n    </body>\n</html>\n"]
    # Looks like you failed 1 test of 2
t/30-examples-app.t .. ok
All tests successful.
Files=1, Tests=15,  4 wallclock secs
Result: PASS

I think this makes people, especially people new to perl* uneasy as
the failure takes up a lot of the reporting and the final success is
less obvious.
I just checked and prove of Perl 5 does the same, but I wonder if it
wouldn't be more user-friendly if the default was to hide the error
from todo tests and only show them in verbose mode.

In addition IMHO the final report should also say "1 todo"

Our repo is https://github.com/Bailador/Bailador

I've posted this to the TAP::Harness project but Leon Timmermans
directed me to Test.pm6
https://github.com/perl6/tap-harness6/issues/17

"That output has nothing to do with todos, and everything with
diagnostics. By default all output to stderr is untouched by prove6,
and this is the most sensible thing it can do. The real issue is in
Test.pm6, which should redirect diagnostics to stdout instead of
stderr when inside of a subtest (this is what Test::Builder does on
perl5)."

Reply via email to