---
name: "Test2::Event::V2"
section: "3pm"
platform: "linux"
package: "libtest-simple-perl"
version: "1.302210-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Test2::Event::V2/3pm"
---

# Test2::Event::V2(3pm)

Second generation event.

## 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.

## 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 \<https://github.com/Test-More/test-more/\>.

## MAINTAINERS

- Chad Granum \<exodist@cpan.org\>

  ## AUTHORS

- Chad Granum \<exodist@cpan.org\>

  ## COPYRIGHT

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/\>
