Test2::Event::V2(3pm)

okay bestie, welcome to Test2::Event::V2(3pm) from the Perl Programmers Reference Guide β€” the second-gen event page, and yes it’s giving main character energy ✨

πŸ’– NAME πŸ’–

Test2::Event::V2 β€” Second generation event.

🌸 DESCRIPTION 🌸

This is the event type that should be used instead of Test2::Event or its legacy subclasses. No cap, it’s the upgraded one πŸ’…

πŸ¦‹ 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. Periodt.

  • $fd = $e->facet_data() β€” returns a hashref of facet data. Each facet hash will be a shallow copy of the original. 🫢
  • $about = $e->about() β€” returns the 'about' facet hashref.
NOTE: this returns the internal hashref, not a copy. Handle with care bestie πŸ™ˆ
  • $trace = $e->trace() β€” returns the 'trace' facet, normally blessed (but this is not enforced when the trace is set using set_trace()).
NOTE: this returns 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. Obsessed with extension-friendly vibes πŸ’œ

πŸ”₯ SOURCE πŸ”₯

The source code repository for Test2 can be found at <https://github.com/Test-More/test-more/>.

πŸ‘‘ MAINTAINERS πŸ‘‘

Chad Granum <exodist@cpan.org>

πŸ’– AUTHORS πŸ’–

Chad Granum <exodist@cpan.org>

Copyright Chad Granum <exodist@cpan.org>.

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

See <https://dev.perl.org/licenses/>


mwah πŸ’‹ this page is from perl v5.42.3, dated 2026-11-03, and it’s the Test2::Event::V2(3pm) manual page β€” out πŸ’…βœ¨

πŸ“¦ where this page comes from