The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

Changes for version 2.000000 - 2024-07-30 (TRIAL RELEASE)

  • NOTE: Backwords incompatible changes, plugins and renderers may need rewriting
  • IPC system overhaul
  • Getopt::Yath has been extracted to its own set of modules
  • Use of Atomic::Pipe to convey data between test and harness
  • Each test has its own auditor process instead of a single auditor bottleneck
  • Yath web server (formerly Yath-UI) has been merged in
  • Yath database (formerly part of Yath-UI) has been merged in
  • Revamped renderer system
  • JUnit renderer has been merged in
  • Database rendering happens in a non-blocking way
  • Several other systems have been overhauled as a result of the IPC rewrite
  • More consistent flags
  • Automatic paging for help (With IO::Pager)
  • Better command list and organization
  • Ability to restrict help output to specific sections as needed --help=SECTION
  • Ability to --show-opts=SECTION to see what your settings do
  • Support for PostgreSQL, SQLite, MySQL (generic), Percona, and MariaDB
  • Many other fixes and overhauls

Documentation

script to launch App::Yath which is the frontend for Test2::Harness.

Modules

FIXME
Remove any pending tests, will not stop currently running tests, leaves the runner active
Start a yath database server
Command to publish a log to a database.
Run tests using 'run' or 'test', same as the default command, but explicit.
Show the failed tests from an event log
Show the list of commands
Create/update test.pl to run tests via Test2::Harness
Immediately kill the runner and any running or pending tests
List all active local runners, persistent or otherwise
Ping the test runner
Run tests for multiple projects
Process list for the runner
Show a list of recent runs (using logs, database and/or web server)
Reload the persistent test runner
Replay a test run from an event log
View the state info for a test runner
Run tests on an existing daemon
Start a yath web server
Launch a perl script from the preloaded environment
Tag tests with duration (short medium long) using a source log
Start a test runner
Status info and process lists for the runner
Wait for running tests to complete, then end runner and abort any pending tests
Run tests with a clean temporary runner
Get times from a test log
Watch/Tail a test runner
Locate the persistent test runner
Things you may need to change in your tests before you can use yath.
Library that searches for test files
Options used for database connections.
Options for any command that interacts with the harness API
Options for viewing recent activity.
Run options for Yath.
Scheduler options for Yath.
Options common to all commands that run tests.
Core yath options
Base class for yath plugins
Plugin to collect and report basic coverage data
Plugin to attach git data to a test run.
Plugin to attach system information to a run.
Default renderer for App::Yath.
Compose output components from event facets
Captures Test2::Harness results and emits a junit xml file.
Renderer to send email and/or slack notifications
Yath renderer that is [Q]uiet but [V]erbose on [F]ailure.
Let yath run tests via cpanm and Makefile.PL
limit the job count (-j) per machine
Config for shared job slots
shared state for job slots
Yath database root schema object.
Schema configuration
Autogenerated schema file for MariaDB.
Autogenerated result class for ApiKey in MariaDB.
Autogenerated result class for Binary in MariaDB.
Autogenerated result class for Config in MariaDB.
Autogenerated result class for Coverage in MariaDB.
Autogenerated result class for CoverageManager in MariaDB.
Autogenerated result class for Email in MariaDB.
Autogenerated result class for EmailVerificationCode in MariaDB.
Autogenerated result class for Event in MariaDB.
Autogenerated result class for Host in MariaDB.
Autogenerated result class for Job in MariaDB.
Autogenerated result class for JobTry in MariaDB.
Autogenerated result class for JobTryField in MariaDB.
Autogenerated result class for LogFile in MariaDB.
Autogenerated result class for Permission in MariaDB.
Autogenerated result class for PrimaryEmail in MariaDB.
Autogenerated result class for Project in MariaDB.
Autogenerated result class for Reporting in MariaDB.
Autogenerated result class for Resource in MariaDB.
Autogenerated result class for ResourceType in MariaDB.
Autogenerated result class for Run in MariaDB.
Autogenerated result class for RunField in MariaDB.
Autogenerated result class for Session in MariaDB.
Autogenerated result class for SessionHost in MariaDB.
Autogenerated result class for SourceFile in MariaDB.
Autogenerated result class for SourceSub in MariaDB.
Autogenerated result class for Sweep in MariaDB.
Autogenerated result class for TestFile in MariaDB.
Autogenerated result class for User in MariaDB.
Autogenerated result class for Version in MariaDB.
Autogenerated schema file for MySQL.
Autogenerated result class for ApiKey in MySQL.
Autogenerated result class for Binary in MySQL.
Autogenerated result class for Config in MySQL.
Autogenerated result class for Coverage in MySQL.
Autogenerated result class for CoverageManager in MySQL.
Autogenerated result class for Email in MySQL.
Autogenerated result class for EmailVerificationCode in MySQL.
Autogenerated result class for Event in MySQL.
Autogenerated result class for Host in MySQL.
Autogenerated result class for Job in MySQL.
Autogenerated result class for JobTry in MySQL.
Autogenerated result class for JobTryField in MySQL.
Autogenerated result class for LogFile in MySQL.
Autogenerated result class for Permission in MySQL.
Autogenerated result class for PrimaryEmail in MySQL.
Autogenerated result class for Project in MySQL.
Autogenerated result class for Reporting in MySQL.
Autogenerated result class for Resource in MySQL.
Autogenerated result class for ResourceType in MySQL.
Autogenerated result class for Run in MySQL.
Autogenerated result class for RunField in MySQL.
Autogenerated result class for Session in MySQL.
Autogenerated result class for SessionHost in MySQL.
Autogenerated result class for SourceFile in MySQL.
Autogenerated result class for SourceSub in MySQL.
Autogenerated result class for Sweep in MySQL.
Autogenerated result class for TestFile in MySQL.
Autogenerated result class for User in MySQL.
Autogenerated result class for Version in MySQL.
Overlay for ApiKey result class.
Overlay for Binary result class.
Overlay for Config result class.
Overlay for Coverage result class.
Overlay for CoverageManager result class.
Overlay for Email result class.
Overlay for EmailVerificationCode result class.
Overlay for Event result class.
Overlay for Host result class.
Overlay for Job result class.
Overlay for JobTry result class.
Overlay for JobTryField result class.
Overlay for LogFile result class.
Overlay for Permission result class.
Overlay for PrimaryEmail result class.
Overlay for Project result class.
Overlay for Reporting result class.
Overlay for Resource result class.
Overlay for ResourceType result class.
Overlay for Run result class.
Overlay for RunField result class.
Overlay for Session result class.
Overlay for SessionHost result class.
Overlay for SourceFile result class.
Overlay for SourceSub result class.
Overlay for Sweep result class.
Overlay for TestFile result class.
Overlay for User result class.
Overlay for Version result class.
Autogenerated schema file for Percona.
Autogenerated result class for ApiKey in Percona.
Autogenerated result class for Binary in Percona.
Autogenerated result class for Config in Percona.
Autogenerated result class for Coverage in Percona.
Autogenerated result class for CoverageManager in Percona.
Autogenerated result class for Email in Percona.
Autogenerated result class for EmailVerificationCode in Percona.
Autogenerated result class for Event in Percona.
Autogenerated result class for Host in Percona.
Autogenerated result class for Job in Percona.
Autogenerated result class for JobTry in Percona.
Autogenerated result class for JobTryField in Percona.
Autogenerated result class for LogFile in Percona.
Autogenerated result class for Permission in Percona.
Autogenerated result class for PrimaryEmail in Percona.
Autogenerated result class for Project in Percona.
Autogenerated result class for Reporting in Percona.
Autogenerated result class for Resource in Percona.
Autogenerated result class for ResourceType in Percona.
Autogenerated result class for Run in Percona.
Autogenerated result class for RunField in Percona.
Autogenerated result class for Session in Percona.
Autogenerated result class for SessionHost in Percona.
Autogenerated result class for SourceFile in Percona.
Autogenerated result class for SourceSub in Percona.
Autogenerated result class for Sweep in Percona.
Autogenerated result class for TestFile in Percona.
Autogenerated result class for User in Percona.
Autogenerated result class for Version in Percona.
Autogenerated schema file for PostgreSQL.
Autogenerated result class for ApiKey in PostgreSQL.
Autogenerated result class for Binary in PostgreSQL.
Autogenerated result class for Config in PostgreSQL.
Autogenerated result class for Coverage in PostgreSQL.
Autogenerated result class for CoverageManager in PostgreSQL.
Autogenerated result class for Email in PostgreSQL.
Autogenerated result class for EmailVerificationCode in PostgreSQL.
Autogenerated result class for Event in PostgreSQL.
Autogenerated result class for Host in PostgreSQL.
Autogenerated result class for Job in PostgreSQL.
Autogenerated result class for JobTry in PostgreSQL.
Autogenerated result class for JobTryField in PostgreSQL.
Autogenerated result class for LogFile in PostgreSQL.
Autogenerated result class for Permission in PostgreSQL.
Autogenerated result class for PrimaryEmail in PostgreSQL.
Autogenerated result class for Project in PostgreSQL.
Autogenerated result class for Reporting in PostgreSQL.
Autogenerated result class for Resource in PostgreSQL.
Autogenerated result class for ResourceType in PostgreSQL.
Autogenerated result class for Run in PostgreSQL.
Autogenerated result class for RunField in PostgreSQL.
Autogenerated result class for Session in PostgreSQL.
Autogenerated result class for SessionHost in PostgreSQL.
Autogenerated result class for SourceFile in PostgreSQL.
Autogenerated result class for SourceSub in PostgreSQL.
Autogenerated result class for Sweep in PostgreSQL.
Autogenerated result class for TestFile in PostgreSQL.
Autogenerated result class for User in PostgreSQL.
Autogenerated result class for Version in PostgreSQL.
Encapsulation of some common queries
Autogenerated result class for ApiKey.
Autogenerated result class for Binary.
Autogenerated result class for Config.
Autogenerated result class for Coverage.
Autogenerated result class for CoverageManager.
Autogenerated result class for Email.
Autogenerated result class for EmailVerificationCode.
Autogenerated result class for Event.
Autogenerated result class for Host.
Autogenerated result class for Job.
Autogenerated result class for JobTry.
Autogenerated result class for JobTryField.
Autogenerated result class for LogFile.
Autogenerated result class for Permission.
Autogenerated result class for PrimaryEmail.
Autogenerated result class for Project.
Autogenerated result class for Reporting.
Autogenerated result class for Resource.
Autogenerated result class for ResourceType.
Autogenerated result class for Run.
Autogenerated result class for RunField.
Autogenerated result class for Session.
Autogenerated result class for SessionHost.
Autogenerated result class for SourceFile.
Autogenerated result class for SourceSub.
Autogenerated result class for Sweep.
Autogenerated result class for TestFile.
Autogenerated result class for User.
Autogenerated result class for Version.
Common resultset class for yath.
Processes runs for database import
Autogenerated schema file for SQLite.
Autogenerated result class for ApiKey in SQLite.
Autogenerated result class for Binary in SQLite.
Autogenerated result class for Config in SQLite.
Autogenerated result class for Coverage in SQLite.
Autogenerated result class for CoverageManager in SQLite.
Autogenerated result class for Email in SQLite.
Autogenerated result class for EmailVerificationCode in SQLite.
Autogenerated result class for Event in SQLite.
Autogenerated result class for Host in SQLite.
Autogenerated result class for Job in SQLite.
Autogenerated result class for JobTry in SQLite.
Autogenerated result class for JobTryField in SQLite.
Autogenerated result class for LogFile in SQLite.
Autogenerated result class for Permission in SQLite.
Autogenerated result class for PrimaryEmail in SQLite.
Autogenerated result class for Project in SQLite.
Autogenerated result class for Reporting in SQLite.
Autogenerated result class for Resource in SQLite.
Autogenerated result class for ResourceType in SQLite.
Autogenerated result class for Run in SQLite.
Autogenerated result class for RunField in SQLite.
Autogenerated result class for Session in SQLite.
Autogenerated result class for SessionHost in SQLite.
Autogenerated result class for SourceFile in SQLite.
Autogenerated result class for SourceSub in SQLite.
Autogenerated result class for Sweep in SQLite.
Autogenerated result class for TestFile in SQLite.
Autogenerated result class for User in SQLite.
Autogenerated result class for Version in SQLite.
Module for dumping, loading, and syncing yath databases
Base class for yath server controllers.
Interact with binary objects in the database.
Controller for fetching coverage data.
Controller for downloading log files
Controller for fetching durations data
Controller for fetching events
Controller for interacting with files
Check for interactions between tests
Controller for viewing a job
Controller for interacting with JobTryFields
Controller for searching
Controller for fetching project data.
Controller for using queries.
Controller to fetch data for re-running things.
controller for fetching resource data.
Controller for interacting with runs.
Controller for fetching run fields
Controller for streaming data that is still being generated.
Controller for triggering database sweeps
Controller for uploading logs
User managemet controller
Used for veiwing items
Plack app module for Yath Server.
Easily throw http codes
Tools for testing yath
Option processing yath style.
An instance of options.
Base class for options.
Use yath instead of prove when installing modules.
Aggregator for TAP::Harness::Yath.
Event for a binary file
Test2 Formatter that directly writes events.
Class to monitor events for a single job and pass judgement on the result .
Produce EventFacets from a line of TAP.
Subclass of Test2::Event used by Test2::Harness under the hood.
Documentation about the Test2::Harness log file.
Module for aggregating coverage data from a stream of events.
Module that tracks timing data while an event stream is processed.
Base class for Test2::Harness plugins.
DSL for building complex stage-based preload tools.
Abstraction of a preload stage.
Deprecated, use App::Yath::Renderer::JUnit.
DEPRECATED
Utility class for manipulating a file.
Utility class for a JSON file.
Utility class for a JSONL file (stream)
Utility class for manipulating a file that serves as an output stream.
Utility class for a file that contains exactly 1 value.
Build hash based classes.
Prevent tests with this module from running together in the same test suite.
Make sure a test uses an isolated temp dir.
Run events through a harness for a summary

Provides

in lib/App/Yath/Command/auditor.pm
in lib/App/Yath/Command/client/publish.pm
in lib/App/Yath/Command/client/recent.pm
in lib/App/Yath/Command/collector.pm
in lib/App/Yath/Command/db/importer.pm
in lib/App/Yath/Command/db/recent.pm
in lib/App/Yath/Command/db/sweeper.pm
in lib/App/Yath/Command/db/sync.pm
in t2/lib/App/Yath/Plugin/SelfTest.pm
in lib/Test2/Harness/Collector/Preloaded.pm