Re: Proposal Test::TAPv13

Daniel Perrett <[email protected]>
Newsgroups gmane.comp.lang.perl.quality-assurance
Message-ID <CABrou+m+uwq6Ogsw-vi+1X+uz-0KUtw5BFJVKViJ7MCRoTOgFA@mail.gmail.com>
I may have missed the point here, but would it be sufficient to have
two flavours of diagnostic calls, distinguishing between pre-test
diagnostics (`forewarn()`) and post-test diagnostics (`reflect()`), or
is the problem that ok() must be a single function call?

If that's possible, maybe we can extend it to guess at what the
various messages mean: most diags can be assumed to be of the
`reflect()` type, as that's typical behaviour, e.g. Test::More, while
more perlish warnings is most likely to be of the `forewarn()`
variety.

Daniel

On 10 July 2012 19:11, Michael G Schwern <[email protected]> wrote:
> On 2012.6.1 5:40 AM, Steffen Schwigon wrote:
>> I am about to upload Test::TAPv13. I also did an prepan entry for that.
>>
>> PrePAN:   http://prepan.org/module/429En4oFbn .
>> URL:      https://github.com/renormalist/Test-TAPv13
>> Synopsis:
>>
>>    use Test::TAPv13 ':all'; # must come before Test::More
>>    use Test::More tests => 2;
>>
>>    my $data = { affe => { tiger => 111,
>>                           birne => "amazing",
>>                           loewe => [ qw( 1 two three) ],
>>                         },
>>                 zomtec => "here's another one",
>>                 "DrWho" => undef,
>>               };
>>
>>    ok(1, "hot stuff");
>>    tap13_yaml($data);
>>    tap13_pragma "+strict";
>>    ok(1, "more hot stuff");
>>
>> Does it make sense?
>> Did I overlook an existing way to generate TAP v13?
>
> I'm just seeing this now.  The output looks correct and I'm happy to see
> somebody playing with the structured diagnostics for reals!  There's a few
> code nits, but I'll note them on github.
>
> Test::Builder1.5 can generate TAP v13, in fact it does so by default, but is
> currently lacking the structured diagnostics part.  Part of this is just
> time/effort, but the larger part is with how tests are written...
>
> The problem with...
>
>     ok( ... );
>     diagnostics( ... );
>
> Is that there's no reliable way to know that diagnostics() goes with the
> previous ok().  This is ok for TAP, where the test result and diagnostics are
> on separate lines and can be printed separately, but other formats need to
> print out the results and diagnostics together.  Like anything where the
> diagnostics information is inside a <result> tag, for example.
>
> That pattern has to be rethought.  This was one of the goals of Test::Builder2
> (the new class to replace Test::Builder) but that is on hold.  Any thoughts?
>
> Also, when did we add the pragma thing?
>
>
> --
> The interface should be as clean as newly fallen snow and its behavior
> as explicit as Japanese eel porn.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.