Skip to content

Latest commit

 

History

History
75 lines (54 loc) · 3.36 KB

index.md

File metadata and controls

75 lines (54 loc) · 3.36 KB
layout title
default
Home

Test Anything Protocol

TAP, the Test Anything Protocol, is a simple text-based interface between testing modules in a test harness. It decouples the reporting of errors from the presentation of the reports.

One of its major uses is for noise reduction; when you have a suite of many tests, making them TAP producers and using a TAP consumer to view them helps ensures that you will see everything you need to notice and diagnose breakage without being distracted by a flood of irrelevant success messages. It can assist other forms of analysis and statistics-gathering as well.

TAP started life as part of the test harness for Perl but now has implementations in C, C++, Python, PHP, Perl, Java, JavaScript, Go, Rust, and others. Consumers and producers do not have to be written in the same language to interoperate.

Here's what a TAP test stream looks like:

1..4
ok 1 - Input file opened
not ok 2 - First line of the input valid
ok 3 - Read the rest of the file
not ok 4 - Summarized correctly # TODO Not written yet

Testing with TAP

TAP Development

{% comment %} TODO review needed - might be worth moving to github issues and involving individual content owners

  • TAP Proposals - What next?
  • {% endcomment %}

    {% comment %} TODO review needed

  • TAP Critique - Design infelicities
  • YAMLish - TAP's embedded YAML dialect
  • Things missing from TAP
  • {% endcomment %}

    Specifications

    External Resources

    {% comment %} TODO review needed

    Mailing Lists

    • TAP-L - For discussion of the Test Anything Protocol
    • TAPX-DEV - For developers of TAP::Parser and other interested parties. Perl specific.
    {% endcomment %}

    {% if site.posts.size > 0 %}

    Updates

    {% for post in site.posts %} - {{ post.date | date_to_string }} » [{{ post.title }}]({{ post.url }}) {% endfor %} {% endif %}