{
    "mode": "perldoc",
    "parameter": "TAP::Formatter::Base",
    "section": "",
    "url": "https://www.chedong.com/phpMan.php/perldoc/TAP%3A%3AFormatter%3A%3ABase/json",
    "generated": "2026-06-11T20:38:18Z",
    "synopsis": "use TAP::Formatter::Console;\nmy $harness = TAP::Formatter::Console->new( \\%args );",
    "sections": {
        "NAME": {
            "content": "TAP::Formatter::Base - Base class for harness output delegates\n",
            "subsections": []
        },
        "VERSION": {
            "content": "Version 3.43\n",
            "subsections": []
        },
        "DESCRIPTION": {
            "content": "This provides console orientated output formatting for TAP::Harness.\n",
            "subsections": []
        },
        "SYNOPSIS": {
            "content": "use TAP::Formatter::Console;\nmy $harness = TAP::Formatter::Console->new( \\%args );\n",
            "subsections": []
        },
        "METHODS": {
            "content": "",
            "subsections": [
                {
                    "name": "Class Methods",
                    "content": "\"new\"\nmy %args = (\nverbose => 1,\n)\nmy $harness = TAP::Formatter::Console->new( \\%args );\n\nThe constructor returns a new \"TAP::Formatter::Console\" object. If a TAP::Harness is created\nwith no \"formatter\" a \"TAP::Formatter::Console\" is automatically created. If any of the\nfollowing options were given to TAP::Harness->new they well be passed to this constructor which\naccepts an optional hashref whose allowed keys are:\n\n*   \"verbosity\"\n\nSet the verbosity level.\n\n*   \"verbose\"\n\nPrinting individual test results to STDOUT.\n\n*   \"timer\"\n\nAppend run time for each test to output. Uses Time::HiRes if available.\n\n*   \"failures\"\n\nShow test failures (this is a no-op if \"verbose\" is selected).\n\n*   \"comments\"\n\nShow test comments (this is a no-op if \"verbose\" is selected).\n\n*   \"quiet\"\n\nSuppressing some test output (mostly failures while tests are running).\n\n*   \"reallyquiet\"\n\nSuppressing everything but the tests summary.\n\n*   \"silent\"\n\nSuppressing all output.\n\n*   \"errors\"\n\nIf parse errors are found in the TAP output, a note of this will be made in the summary\nreport. To see all of the parse errors, set this argument to true:\n\nerrors => 1\n\n*   \"directives\"\n\nIf set to a true value, only test results with directives will be displayed. This overrides\nother settings such as \"verbose\", \"failures\", or \"comments\".\n\n*   \"stdout\"\n\nA filehandle for catching standard output.\n\n*   \"color\"\n\nIf defined specifies whether color output is desired. If \"color\" is not defined it will\ndefault to color output if color support is available on the current platform and output is\nnot being redirected.\n\n*   \"jobs\"\n\nThe number of concurrent jobs this formatter will handle.\n\n*   \"showcount\"\n\nBoolean value. If false, disables the \"X/Y\" test count which shows up while tests are\nrunning.\n\nAny keys for which the value is \"undef\" will be ignored.\n\n\"prepare\"\nCalled by Test::Harness before any test output is generated.\n\nThis is an advisory and may not be called in the case where tests are being supplied to\nTest::Harness by an iterator.\n\n\"opentest\"\nCalled to create a new test session. A test session looks like this:\n\nmy $session = $formatter->opentest( $test, $parser );\nwhile ( defined( my $result = $parser->next ) ) {\n$session->result($result);\nexit 1 if $result->isbailout;\n}\n$session->closetest;\n\n\"summary\"\n$harness->summary( $aggregate );\n\n\"summary\" prints the summary report after all tests are run. The first argument is an aggregate\nto summarise. An optional second argument may be set to a true value to indicate that the\nsummary is being output as a result of an interrupted test run.\n"
                }
            ]
        }
    },
    "summary": "TAP::Formatter::Base - Base class for harness output delegates",
    "flags": [],
    "examples": [],
    "see_also": []
}