Test2::Event::V2#

Second generation event.

DESCRIPTION#

This is the event type that should be used instead of Test2::Event or its legacy subclasses.

SYNOPSIS#

USING A CONTEXT#

use Test2::API qw/context/;

sub my_tool {
    my $ctx = context();

    my $event = $ctx->send_ev2(info => [{tag => 'NOTE', details => "This is a note"}]);

    $ctx->release;

    return $event;
}

USING THE CONSTRUCTOR#

use Test2::Event::V2;

my $e = Test2::Event::V2->new(
    trace => {frame => [$PKG, $FILE, $LINE, $SUBNAME]},
    info  => [{tag => 'NOTE', details => "This is a note"}],
);

METHODS#

This class inherits from Test2::Event.

  • $fd = $e->facet_data()

    This will return a hashref of facet data. Each facet hash will be a shallow copy of the original.

  • $about = $e->about()

    This will return the ‘about’ facet hashref.

    NOTE: This will return the internal hashref, not a copy.

  • $trace = $e->trace()

    This will return the ‘trace’ facet, normally blessed (but this is not enforced when the trace is set using set_trace().

    NOTE: This will return the internal trace, not a copy.

MUTATION#

  • $e->add_amnesty({…})

    Inherited from Test2::Event. This can be used to add ‘amnesty’ facets to an existing event. Each new item is added to the END of the list.

    NOTE: Items ARE blessed when added.

  • $e->add_hub({…})

    Inherited from Test2::Event. This is used by hubs to stamp events as they pass through. New items are added to the START of the list.

    NOTE: Items ARE NOT blessed when added.

  • $e->set_uuid($UUID)

    Inherited from Test2::Event, overridden to also vivify/mutate the ‘about’ facet.

  • $e->set_trace($trace)

    Inherited from Test2::Event which allows you to change the trace.

    Note: This method does not bless/clone the trace for you. Many things will expect the trace to be blessed, so you should probably do that.

LEGACY SUPPORT METHODS#

These are all imported from Test2::Util::Facets2Legacy, see that module or Test2::Event for documentation on what they do.

  • causes_fail

  • diagnostics

  • global

  • increments_count

  • no_display

  • sets_plan

  • subtest_id

  • summary

  • terminate

THIRD PARTY META-DATA#

This object consumes Test2::Util::ExternalMeta which provides a consistent way for you to attach meta-data to instances of this class. This is useful for tools, plugins, and other extensions.

SOURCE#

The source code repository for Test2 can be found at Test-More/test-more.

MAINTAINERS#

AUTHORS#