TestAnything/testanything.github.io

Missing todo_skip, which has existed since 12/14/2001 (Test::Simple 0.40)

deeelwy opened this issue · 1 comments

I'm writing yet another C library for TAP, and since I come from Perl, I've also been using Test::More's POD on metacpan (https://metacpan.org/pod/Test::More) for documentation. However, Test::More has a todo_skip feature that combines both TODO and SKIP into one crazy feature, but the documentation for TAP on this website (https://testanything.org/tap-version-13-specification.html) makes no mention of this feature.

I wanted to know what this feature looks like in actual TAP output, but getting there in the newer Test2 based version is harder, but backpan has older releases. In the source from the last release before Test2, Test::Builder's todo_skip() method's code indicates that it would generate TAP output something like: (https://metacpan.org/source/RJBS/Test-Simple-0.99/lib/Test/Builder.pm)

not ok <testnum> # TODO & SKIP <why>

This seems significantly different than regular TODO and SKIP, so TAP parsers not familiar with todo_skip will probably just parse it as a TODO and include the "& SKIP" part in the part. However, in todo_skip's documenation in Test::More, it says that todo_skip works like a SKIP, but parsers unaware of todo_skip will most likely treat it like a TODO that passed.

Should todo_skip() be documented? It's existed for 16 years since 2001, and nobody has pointed this out to you guys. Should todo_skip() be added to the TAP history page? (http://testanything.org/history.html)? Could you "backdate" adding it with one of the other version numbers, because you probably couldn't get away with adding it as version 14, but maybe that would actually work just fine. Do any other TAP libraries in other nonPerl languages support todo_skip?

Do any other TAP libraries in other nonPerl languages support todo_skip?

I don't think so, which is why it wasn't included in the v14 spec.

Happy to consider it, of course, but the place to discuss (and not be quite as forgotten) is over at https://github.com/TestAnything/Specification