On Mon, Dec 21, 2015 at 5:10 PM, Karen Etheridge <p...@froods.org> wrote:

> > The problem is that parent_todo is not considered when setting the OK's
> in the details in subtests. That means if a subtest ok fails, and the
> parent is in todo, the 'ok' and 'actual_ok' are both set to false.
>
> Why is this a bug? After all, it's only the top level of TAP that ever
> matters when it comes to the overall test pass/failure, and a subtest's
> pass or fail status will be adjusted accordingly for the parent TODO at the
> *parent's* level. TODOs don't need to propagate downward to all contained
> subtests.
>
>
This bug has nothing to do with TAP. '->details' is used to get a record of
all tests that have passed through the Test::Builder instance. These
details should accurately reflect if the test was a pass or fail, they do
not. By not using parent_TODO here Test::Builder is at the very least being
inconsistent with itself. When a failure occurs in a subtest where the
parent is todo Test::Builder will send the diagnostics and errors to STDOUT
instead of STDERR like it does with any TODO failure. This is the __ONLY__
place where Test::Builder does not account for the parent_TODO on a
subtest, and in that way it is being inconsistent if not buggy.


> Further, if we required that TODO state must propagate down to all
> contained subtests, that means that subtests must always be aware of that
> upper state -- which rules out any use of separate processes to to create
> the subtest results, which is conceptually possible (something else,
> thinking that it is a top-level test, can provide us the TAP, and then we
> nest it as a subtest into another test -- and this should be possible both
> with TAP strings and with an event streamer).
>

I can't control TAP from other sources, but as I said, this bug has nothing
to do with TAP. This has to do with Test::Builders internal understanding
of tests __it__ produced. Outside TAP never has, nor will it ever effect
this, they do not appear in the details structure.


-Chad

Reply via email to