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

NAME

TAP::Formatter::Jenkins - Harness output delegate for Jenkins TAP Plugin output

SYNOPSIS

On the command line, with prove:

prove --formatter TAP::Formatter::Jenkins ...

Or, in your own scripts:

use TAP::Harness;
my $harness = TAP::Harness->new( {
    formatter_class => 'TAP::Formatter::Jenkins',
    merge => 1,
} );
$harness->runtests(@tests);

DESCRIPTION

This code is currently in alpha state and is subject to change.

TAP::Formatter::Jenkins provides TAP output formatting for TAP::Harness, which can be used in Jenkins CI server.

This module is based on TAP::Formatter::JUnit by Graham TerMarsch <cpan@howlingfrog.com>, main differences are:

In standard use, "passing TODOs" are treated as failure conditions (and are reported as such in the generated TAP). If you wish to treat these as a "pass" and not a "fail" condition, setting ALLOW_PASSING_TODOS in your environment will turn these into pass conditions.

  • resulting TAP is saved in %test_suite_name%.tap instead of putting it to the stdout

  • converts information about failing tests to YAMLish

ATTRIBUTES

test_suites

List-ref of test suites that have been executed.

METHODS

open_test($test, $parser)

Over-ridden open_test() method.

Creates a TAP::Formatter::Jenkins::Session session, instead of a console formatter session.

summary($aggregate)

Prints the summary report (in Jenkins TAP Plugin formatting) after all tests are run.

add_testsuite($suite)

Adds the given test $suite to the list of test suites that we've executed and need to summarize.

COPYRIGHT

This is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

SEE ALSO

TAP::Formatter::Jenkins::Session, TAP::Formatter::Jenkins::MyParser,