Test2::Manual::Tooling - Manual page for tool authors.

- NAME
- DESCRIPTION
- TOOL TUTORIALS
  - FIRST TOOL
  - MOVING FROM Test::Builder
  - NESTING TOOLS
  - TOOLS WITH SUBTESTS
  - TESTING YOUR TEST TOOLS
- PLUGIN TUTORIALS
  - TAKING ACTION WHEN A NEW TOOL STARTS
  - TAKING ACTION AFTER A TOOL IS DONE
  - TAKING ACTION AT THE END OF TESTING
  - TAKING ACTION JUST BEFORE EXIT
- WRITING A SIMPLE JSONL FORMATTER
- WHERE TO FIND HOOKS AND APIS
- SEE ALSO
- SOURCE
- MAINTAINERS
- AUTHORS
- COPYRIGHT

# NAME

Test2::Manual::Tooling - Manual page for tool authors.

# DESCRIPTION

This section covers writing new tools, plugins, and other Test2 components.

# TOOL TUTORIALS

## FIRST TOOL

Test2::Manual::Tooling::FirstTool - Introduction to writing tools by cloning ok().

## MOVING FROM Test::Builder

Test2::Manual::Tooling::TestBuilder - This section maps Test::Builder methods to Test2 concepts.

## NESTING TOOLS

Test2::Manual::Tooling::Nesting - How to call other tools from your tool.

## TOOLS WITH SUBTESTS

Test2::Manual::Tooling::Subtest - How write tools that make use of subtests.

## TESTING YOUR TEST TOOLS

Test2::Manual::Tooling::Testing - How to write tests for your test tools.

# PLUGIN TUTORIALS

## TAKING ACTION WHEN A NEW TOOL STARTS

Test2::Manual::Tooling::Plugin::ToolStarts - How to add behaviors that occur when a tool starts work.

## TAKING ACTION AFTER A TOOL IS DONE

Test2::Manual::Tooling::Plugin::ToolCompletes - How to add behaviors that occur when a tool completes work.

## TAKING ACTION AT THE END OF TESTING

Test2::Manual::Tooling::Plugin::TestingDone - How to add behaviors that occur when testing is complete (IE done_testing, or end of test).

## TAKING ACTION JUST BEFORE EXIT

Test2::Manual::Tooling::Plugin::TestExit - How to safely add pre-exit behaviors.

# WRITING A SIMPLE JSONL FORMATTER

Test2::Manual::Tooling::Formatter - How to write a custom formatter, in our case a JSONL formatter.

# WHERE TO FIND HOOKS AND APIS

global API

  Test2::API is the global API. This is primarily used by plugins that provide global behavior.

In hubs

  Test2::Hub is the base class for all hubs. This is where hooks for manipulating events, or running things at the end of testing live.

# SEE ALSO

Test2::Manual - Primary index of the manual.

# SOURCE

The source code repository for Test2-Manual can be found at https://github.com/Test-More/Test2-Suite/.

# MAINTAINERS

Chad Granum <exodist@cpan.org>

# AUTHORS

Chad Granum <exodist@cpan.org>

# COPYRIGHT

Copyright 2018 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/

Test2::Manual::Tooling - Manual page for tool authors.