Test2::Manual::Tooling(3p)

Test2::Manual::Tooling3p

Manual page for tool authors.

Overview

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.

Source

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

Maintainers

Chad Granum <[email protected]>

Releases

5 releases since OpenBSD 7.7; the text changed 2 times.

  1. 7.7–7.8
  2. 7.9
  3. 8.0

Authors

Chad Granum <[email protected]>

From man 8.0-current-20261101 in OpenBSD 8.0-current (2026-11-01). Parsed by carta from the page's man source.