📦 tap-consooomer

That's three o's.

crate status: WIP Build and Test pre-commit.ci status codecov

Test Anything Protocol (TAP) Consumer for Rust. Capable of parsing TAP14 files into pest tokens.

Usage

```txt Reads a given Test Anything Protocol (TAP) file and prints the JSON-formatted parser result to stdout. If FILE is omitted, TAP input is read from stdin. Parsing only comences after encountering an EOF. Only complete TAP files are supported.

USAGE: tap [FILE]

ARGS: Path to TAP input file

OPTIONS: -h, --help Print help information

-V, --version
        Print version information

```

Examples

See examples directory for some example TAP logs. To convert them into JSON run:

sh ❯ tap examples/cascading.tap

The TAP log should be transformed as follows:

Input Output
```tap TAP version 14 1..3 # root ok 1 - i'm in root # subtest: here begins sub-1 2..2 # sub-1 ok 2 - i'm in sub-1 ok 3 ``` ```json { "preamble": { "version": "14" }, "plan": { "first": 1, "last": 3, "reason": "root" }, "body": [ { "test": { "result": true, "number": 1, "description": "i'm in root", "directive": null, "yaml": [] } }, { "subtest": { "name": "here begins sub-1", "plan": { "first": 2, "last": 2, "reason": "sub-1" }, "body": [ { "test": { "result": true, "number": 2, "description": "i'm in sub-1", "directive": null, "yaml": [] } } ] } }, { "test": { "result": true, "number": 3, "description": null, "directive": null, "yaml": [] } } ] } ```

License

Licensed under

Limitations