```{index} single: TAP::Formatter::Base ``` # TAP::Formatter::Base Base class for harness output delegates ## VERSION Version 3.52 ## DESCRIPTION This provides console orientated output formatting for TAP::Harness. ## SYNOPSIS ```perl use TAP::Formatter::Console; my $harness = TAP::Formatter::Console->new( \%args ); ``` ## METHODS ### Class Methods #### `new` ```perl my %args = ( verbose => 1, ) my $harness = TAP::Formatter::Console->new( \%args ); ``` The constructor returns a new `TAP::Formatter::Console` object. If a [TAP::Harness](../Harness.md) is created with no `formatter` a `TAP::Formatter::Console` is automatically created. If any of the following options were given to TAP::Harness->new they well be passed to this constructor which accepts an optional hashref whose allowed keys are: - `verbosity` Set the verbosity level. - `verbose` Printing individual test results to STDOUT. - `timer` Append run time for each test to output. Uses [Time::HiRes](../../Time/HiRes.md) if available. - `failures` Show test failures (this is a no-op if `verbose` is selected). - `comments` Show test comments (this is a no-op if `verbose` is selected). - `quiet` Suppressing some test output (mostly failures while tests are running). - `really_quiet` Suppressing everything but the tests summary. - `silent` Suppressing all output. - `errors` If parse errors are found in the TAP output, a note of this will be made in the summary report. To see all of the parse errors, set this argument to true: ```perl errors => 1 ``` - `directives` If set to a true value, only test results with directives will be displayed. This overrides other settings such as `verbose`, `failures`, or `comments`. - `stdout` A filehandle for catching standard output. - `color` If defined specifies whether color output is desired. If `color` is not defined it will default to color output if color support is available on the current platform and output is not being redirected. - `jobs` The number of concurrent jobs this formatter will handle. - `show_count` Boolean value. If false, disables the `X/Y` test count which shows up while tests are running. Any keys for which the value is `undef` will be ignored. #### `prepare` Called by Test::Harness before any test output is generated. This is an advisory and may not be called in the case where tests are being supplied to Test::Harness by an iterator. #### `open_test` Called to create a new test session. A test session looks like this: ```perl my $session = $formatter->open_test( $test, $parser ); while ( defined( my $result = $parser->next ) ) { $session->result($result); exit 1 if $result->is_bailout; } $session->close_test; ``` #### `summary` ```perl $harness->summary( $aggregate ); ``` `summary` prints the summary report after all tests are run. The first argument is an aggregate to summarise. An optional second argument may be set to a true value to indicate that the summary is being output as a result of an interrupted test run.