Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/raku/tap-harness6
A TAP harness for Raku
https://github.com/raku/tap-harness6
raku
Last synced: 3 months ago
JSON representation
A TAP harness for Raku
- Host: GitHub
- URL: https://github.com/raku/tap-harness6
- Owner: Raku
- License: artistic-2.0
- Created: 2014-09-05T10:53:37.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2023-03-12T17:30:31.000Z (almost 2 years ago)
- Last Synced: 2024-10-07T10:00:06.247Z (3 months ago)
- Topics: raku
- Language: Raku
- Homepage:
- Size: 327 KB
- Stars: 8
- Watchers: 150
- Forks: 15
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- Changelog: Changes
- License: LICENSE
Awesome Lists containing this project
README
# NAME
TAP
# DESCRIPTION
An asynchronous TAP framework written in Raku.
# SYNOPSIS
```Raku
use TAP;
my $harness = TAP::Harness.new(|%args);
$harness.run(@tests);
```# METHODS
## Class Methods
### new
```Raku
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
```Raku
$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.