TAP

TAP harness for raku

NAME

TAP

DESCRIPTION

An asynchronous TAP framework written in Raku.

SYNOPSIS

use TAP;
my $harness = TAP::Harness.new(|%args);
$harness.run(@tests);

METHODS

Class Methods

new

my %args = jobs => 1, err  => 'ignore';
my $harness = TAP::Harness.new( |%args );

The constructor returns a new TAP::Harness object. It accepts an optional hash whose allowed keys are:

  • volume

    Default value: Normal

    Possible values: Silent ReallyQuiet Quiet Normal Verbose

  • jobs

    The maximum number of parallel tests to run.

    Default value: 1

    Possible values: An Int

  • timer

    Append run time for each test to output.

    Default value: False

    Possible values: True False

  • err

    Error reporting configuration.

    Default value: stderr

    Possible values: stderr ignore merge Supply IO::Handle

    ValueDefinition
    stderrDirect the test's $*ERR to the harness' $*ERR
    ignoreIgnore the test scripts' $*ERR
    mergeMerge the test scripts' $*ERR into their $*OUT
    SupplyDirect the test's $*ERR to a Supply
    IO::HandleDirect the test's $*ERR to an IO::Handle
  • ignore-exit

    If set to True will instruct TAP::Parser to ignore exit and wait for status from test scripts.

    Default value: False

    Possible values: True False

  • trap

    Attempt to print summary information if run is interrupted by SIGINT (Ctrl-C).

    Default value: False

    Possible values: True False

  • handlers

    Default value: TAP::Harness::SourceHandler::Raku

    Possible values: TAP::Harness::SourceHandler::Raku TAP::Harness::SourceHandler::Exec

    LanguageHandler
    RakuTAP::Harness::SourceHandler::Raku.new
    Perl 5TAP::Harness::SourceHandler::Exec.new('perl')
    RubyTAP::Harness::SourceHandler::Exec.new('ruby')
    PythonTAP::Harness::SourceHandler::Exec.new('python')

Instance Methods

run

$harness.run(@tests);

Accepts an array of @tests to be run. This should generally be the names of test files.

TODO

These features are currently not implemented but are considered desirable:

  • Rule based parallel scheduling

  • Source Handlers other than ::Raku

  • Better documentation

LICENSE

You can use and distribute this module under the terms of the The Artistic License 2.0. See the LICENSE file included in this distribution for complete details.

TAP v0.3.15

TAP harness for raku

Authors

  • Leon Timmermans

License

Artistic-2.0

Dependencies

Test Dependencies

Provides

  • TAP

The Camelia image is copyright 2009 by Larry Wall. "Raku" is trademark of the Yet Another Society. All rights reserved.