Perl 5 version 26.3 documentation

Test2::Util::Trace

NAME

Test2::Util::Trace - Debug information for events

DESCRIPTION

The Test2::API::Context object, as well as all Test2::Event types need to have access to information about where they were created. This object represents that information.

SYNOPSIS

  1. use Test2::Util::Trace;
  2. my $trace = Test2::Util::Trace->new(
  3. frame => [$package, $file, $line, $subname],
  4. );

METHODS

  • $trace->set_detail($msg)
  • $msg = $trace->detail

    Used to get/set a custom trace message that will be used INSTEAD of at <FILE> line <LINE> when calling $trace->debug .

  • $str = $trace->debug

    Typically returns the string at <FILE> line <LINE>. If detail is set then its value will be returned instead.

  • $trace->alert($MESSAGE)

    This issues a warning at the frame (filename and line number where errors should be reported).

  • $trace->throw($MESSAGE)

    This throws an exception at the frame (filename and line number where errors should be reported).

  • $frame = $trace->frame()

    Get the call frame arrayref.

  • ($package, $file, $line, $subname) = $trace->call()

    Get the caller details for the debug-info. This is where errors should be reported.

  • $pkg = $trace->package

    Get the debug-info package.

  • $file = $trace->file

    Get the debug-info filename.

  • $line = $trace->line

    Get the debug-info line number.

  • $subname = $trace->subname

    Get the debug-info subroutine name.

  • $hashref = $t->TO_JSON

    This returns a hashref suitable for passing to the Test2::Util::Trace->from_json constructor. It is intended for use with the JSON family of modules, which will look for a TO_JSON method when convert_blessed is true.

  • $t = Test2::Util::Trace->from_json(%$hashref)

    Given the hash of data returned by $t->TO_JSON , this method returns a new trace object of the appropriate subclass.

SOURCE

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

MAINTAINERS

  • Chad Granum <exodist@cpan.org>

AUTHORS

  • Chad Granum <exodist@cpan.org>

COPYRIGHT

Copyright 2016 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 http://dev.perl.org/licenses/