TAP Producers

From Test Anything Protocol

Jump to: navigation, search

Systems which output TAP.

Contents

[edit] Ada

  • Ahven unit test library for Ada produces TAP 12 output.

[edit] Arc (Lisp Dialect)

[edit] C / C++

[edit] C TAP Harness

Russ Alberry has a C TAP library available here.

[edit] LibTap

(This library appears to no longer be under active development. It also suffers from an non-POSIX thread implementation. If you remove the thread ifdefs from tap.c it does compile and run however.)

[edit] libtap++

Libtap++ is a mostly-complete port of test::More to C++. Its main advantage over libtap is that it provides polymorphic is and isnt functions.

[edit] MyTAP (for MySQL)

MyTAP is a TAP producer for C. It is the unit testing framework used inside the MySQL Server

[edit] Yet Another libtap

Another library for producing tap in C that compiles without much work on the dumbest (no special library requirements) of Unix-like and Windows development environments. It is feature-full (ok, is, isnt, like, unlike, todo, skip, dies_ok, cmp_ok, etc...), consistent (todo until endtodo, skip until endskip), extendable, and keeps track of file-line information (like test::More does). It also uses macros in nice ways so the user can leave out the message portion at the end of the test ok(1) and ok(1, "hello %s", "world") are both valid.

[edit] Common Lisp

[edit] cl-tap-producerX

cl-tap-producerX is a testing library for Common Lisp which produces test results in the test Anything Protocol (TAP) format. The most common usage is to print the TAP output to standard output, for use with tools such as the Perl prove utility, but other usages are possible. cl-tap-producerX supports most parts of the TAP specification, including TODO tests, skipped tests, and diagnostics. cl-tap-producerX automatically infers diagnostics in the most common usages. cl-tap-producerX is extremely light-weight with almost no boilerplate required in the most common usage scenario. Boilerplate is available for those who prefer it.

cl-tap-producerX is split into two parts - a test library which generates structured test result data, and a TAP producer which formats the structured test data to TAP output. In the most common usage, this process is transparent.

[edit] testbild

testbild, the universal test output production and consumption facility, is a Common Lisp library designed to provide a common interface for Unit testing output. Currently it supports TAP (versions 12, 13) and xUnit style output.

It is asdf-installable and also available via Quicklisp.

[edit] Erlang

[edit] Limbo (OS Inferno)

[edit] Forth

[edit] Haskell

[edit] TAP Module

[edit] Java

[edit] JTap

[edit] tap4j

[edit] C#

[edit] Taps

Taps is a test tool for the .NET framework. Taps compiles C# test scripts on the fly and runs them. The output of the scripts conforms to the TAP protocol. The set of test functions available to the test scripts is inspired on the test::More module.

Some features of Taps:

  • Allows a test script to run tests in multiple threads
  • Does deep comparison of complex data structures and if they are not equal outputs them annotated with a clear path to the differing item
  • Has multiple output modes: YAML, msbuild-friendly, terse
  • Supports testing of "internal" classes and methods

The project home is hosted at Google Code.

[edit] Javascript

[edit] test.Simple

[edit] test.Perlish

Similar to test.Simple above, test.Perlish provides test::Simple style testing but targets GNOME Seed and can be used with prove -e seed.

[edit] node-tap

A Node.js test framework and harness toolkit that produces and consumes the TAP format.

[edit] OCaml

[edit] testSimple

A unit testing framework for OCaml. It is based heavily on the Perl unit testing framework of the same name, and produces TAP output which can be read and analyzed by a wide range of existing Perl tools. The goal of this framework is to make writing unit tests as simple and as easy as possible (hence the name).

[edit] Pascal

Also Object Pascal, Delphi, FPC (Free Pascal Compiler), etc.:

[edit] Perl

[edit] test::Builder

[edit] test.pm

[edit] PostgreSQL

[edit] pgTAP

[edit] Python

[edit] PyTAP

[edit] Ruby

[edit] Bacon

  • bacon produces version 12 TAP output

[edit] PHP

[edit] phpt

[edit] PHPUnit

[edit] Simpletest

[edit] test.php

[edit] Apache::test

Apache-test's PHP writes TAP by default and includes the standalone test-more.php

[edit] test-more-php

test-more-php provides the test::Simple & test::More APIs for PHP

[edit] PL/SQL

[edit] SH / Shell Script

[edit] Bats

  • Bats - the Bash Automated Testing System

[edit] tap-functions

(An excellent and useful library, I use it often. --Jeremiah)

[edit] Sharness

  • Sharness - Shell-based Test Harness Library, derived from Git project (see below)

[edit] Git Project

While it's not a working implementation, the Git project has starter code that supplies the basic functionality of ok/not Ok and some skipping functionality, even with colored output! Look in t/test-lib.sh and other test files for example code and use.

[edit] Non Proliferation

TAP producer authors should be aware of (and hopefully sign) the TAP Namespace Nonproliferation Treaty

Personal tools