txt: ## dist_cpan-LEONT-TAP.md
  # 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`
  
    | Value | Definition |
    | --- | --- |
    | `stderr` | Direct the test's `$*ERR` to the harness' `$*ERR` |
    | `ignore` | Ignore the test scripts' `$*ERR` |
    | `merge` | Merge the test scripts' `$*ERR` into their `$*OUT` |
    | `Supply` | Direct the test's `$*ERR` to a `Supply` |
    | `IO::Handle` | Direct 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`
  
    | Language | Handler |
    | --- | --- |
    | Raku | `TAP::Harness::SourceHandler::Raku.new` |
    | Perl 5 | `TAP::Harness::SourceHandler::Exec.new('perl')` |
    | Ruby | `TAP::Harness::SourceHandler::Exec.new('ruby')` |
    | Python | `TAP::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.
  