Test::Stream::Event::Ok - Ok event type


This distribution is deprecated in favor of Test2, Test2::Suite, and Test2::Workflow.

See Test::Stream::Manual::ToTest2 for a conversion guide.


Ok events are generated whenever you run a test that produces a result. Examples are ok(), and is().


    use Test::Stream::Context qw/context/;
    use Test::Stream::Event::Ok;

    my $ctx = context();
    my $event = $ctx->ok($bool, $name, \@diag);


    my $ctx   = debug();
    my $event = $ctx->send_event(
        pass => $bool,
        name => $name,
        diag => \@diag


$rb = $e->pass

The original true/false value of whatever was passed into the event (but reduced down to 1 or 0).

$name = $e->name

Name of the test.

$diag = $e->diag

An arrayref full of diagnostics strings to print in the event of a failure.

Note: This does not have anything by default, the default_diag() method can be used to generate the basic diagnostics message which you may push into this arrayref.

$b = $e->effective_pass

This is the true/false value of the test after TODO, SKIP, and similar modifiers are taken into account.

$b = $e->allow_bad_name

This relaxes the test name checks such that they allow characters that can confuse a TAP parser.


$string = $e->default_diag()

This generates the default diagnostics string:

    # Failed test 'Some Test'
    # at t/foo.t line 42.
@sets = $e->to_tap()
@sets = $e->to_tap($num)

Generate the tap stream for this object. @sets containes 1 or more arrayrefs that identify the IO handle to use, and the string that should be sent to it.

IO Handle identifiers are set to the value of the Test::Stream::Formatter::TAP OUT_* constants.


    @sets = (
        [OUT_STD() => 'not ok 1 - foo'],
        [OUT_ERR() => '# Test 1 Failed ...' ],


The source code repository for Test::Stream can be found at


Chad Granum <>


Chad Granum <>


Copyright 2015 Chad Granum <>.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.