layout | title |
---|---|
default |
TAP Producers |
TAP producers are any systems which output TAP. This page contains a catalog of software libraries that can act as TAP producers, grouped by programming language.
Languages: Ada, C, C++, C#, Common Lisp, Elixir, Erlang, Fish, Forth, Fortran, Go, Haskell, Igor Pro, Java, JavaScript, Limbo, Lua, MATLAB, OCaml, Omnis Studio, Pascal, Perl, PHP, Prolog, Python, Ruby, Sass, Shell, SQL, and TypeScript.
Some test frameworks exist with TAP producers that are not language specific.
Ada is a modern programming language designed for large, long-lived applications – and embedded systems in particular – where safety and security are essential.
Ahven is a unit test library for Ada which produces TAP 12 output.
C is an imperative (procedural) language. It was designed to be compiled using a relatively straightforward compiler, to provide low-level access to memory, to provide language constructs that map efficiently to machine instructions, and to require minimal run-time support.
From Wikipedia
C TAP Harness is a TAP library that implments much of the Test::More API along with some C specific test functions.
GLib is a
low-level core library for projects such as GTK+ and GNOME.
Tests built with GLib's test
framework
produce TAP version 12 when run with the --tap
option.
libtap is a TAP version 12 producer for C.
libtap is another TAP library that follows the Test::More API.
MyTAP is another TAP version 12 producer for C. This library is different from the MyTAP producer for MySQL. See SQL.
C++ is a general-purpose programming language with a bias towards systems programming that: is a better C, supports data abstraction, object-oriented programming, generic programming, and functional programming.
From Standard C++
Looking for a guide? Testing with C++ has some examples.
GoogleTest TAP Listener is a TAP producer for GoogleTest, Google's C++ test framework.
libtap++ is a TAP library
embedded within libperl++
. It is a mostly complete port of
Test::More to C++.
libtappp is a fork of libtap++
that removes the build time dependency to Boost.
C# is a multi-paradigm programming language encompassing strong typing, imperative, declarative, functional, generic, object-oriented (class-based), and component-oriented programming disciplines.
From Wikipedia
Taps is a test tool for the .NET framework and Mono. It is inspired on Perl's testing facilities and is therefore quite different from tools like NUnit.
Common Lisp is the modern, multi-paradigm, high-performance, compiled, ANSI-standardized, most prominent (along with Scheme) descendant of the long-running family of Lisp programming languages.
From Common-Lisp.net
cl-tap-producerX is a testing library which produces TAP to standard output. 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.
testbild is a Common Lisp library designed to provide a common interface for Unit testing output. Currently, it supports TAP version 12 and xUnit style output. It is available via Quicklisp.
Elixir is a dynamic, functional language designed for building scalable and maintainable applications.
From elixir-lang.org
Spout is a ExUnit formatter that generates TAP output for existing ExUnit test suites. Spout provides a simple way to generate TAP output without having to modify existing test code. Based on CTTAP.
Erlang is a programming language used to build massively scalable soft real-time systems with requirements on high availability.
From erlang.org
CTTAP is a Common Test hook that generates TAP output for existing Common Test test suites. CTTAP provides a simple way to generate TAP output without having to modify existing test code.
etap is a collection of Erlang modules that provide a TAP testing client library. These modules are not meant to compete with eunit, but to offer a more general testing facility that isn't provided by eunit.
fish is a smart and user-friendly command line shell for OS X, Linux, and the rest of the family.
From fishshell.com
Fishtape is a TAP producer and test harness for fish.
Forth is a computer language originally designed for embedded and real-time applications.
From FORTH, Inc.
Check out the Testing with Forth guide.
gforth-tap is a TAP producer for Forth at an alpha level readiness.
Fortran (formerly FORTRAN, derived from "Formula Translation") is a general-purpose, imperative programming language that is especially suited to numeric computation and scientific computing. Originally developed by IBM in the 1950s for scientific and engineering applications, Fortran came to dominate this area of programming early on and has been in continuous use for over half a century in computationally intensive areas such as numerical weather prediction, finite element analysis, computational fluid dynamics, computational physics, crystallography and computational chemistry. It is a popular language for high-performance computing and is used for programs that benchmark and rank the world's fastest supercomputers.
Fortran encompasses a lineage of versions, each of which evolved to add extensions to the language while usually retaining compatibility with prior versions. Successive versions have added support for structured programming and processing of character-based data (FORTRAN 77), array programming, modular programming and generic programming (Fortran 90), high performance Fortran (Fortran 95), object-oriented programming (Fortran 2003) and concurrent programming (Fortran 2008).
From Wikipedia
fortran-tap is a minimal producer implementation of the "Test Anything Protocol" (TAP) in Fortran 90 and the c preprocessor. Just copy two files to your project and start testing.
fortran-testanything is a basic TAP producer for Fortran (standard 2008TS) with a minimal test harness implementing most of the Test::More API.
Go is an open source programming language that makes it easy to build simple, reliable, and efficient software.
From golang.org
tap.go is a basic TAP producer
for testing/quick.Check
tests.
Haskell is an advanced purely-functional programming language.
From haskell.org
TAP is a TAP producer that implements most of the Test::More API.
tasty-tap is a TAP producer used with the Tasty Haskell test framework.
IGOR Pro is a scientific data analysis software, numerical computing environment and programming language.
From Wikipedia
Igor UTF is a test harness and can output its results in TAP format.
Java is a general-purpose computer programming language that is concurrent, class-based, object-oriented, and specifically designed to have as few implementation dependencies as possible.
From Wikipedia
JTap is a TAP library that implements most of the Test::More API.
tap4j is a full featured TAP library which is integrated at the core of other Java projects like the Jenkins TAP Plugin.
JavaScript is a prototype-based, multi-paradigm, dynamic scripting language, supporting object-oriented, imperative, and functional programming styles.
From MDN
AVA an asynchronous test framework combining plans and tests and has an optional TAP reporter.
BaseT a test tool that implements Baseline Strategy (very close to snapshot testing) with TAP output (tap diff is default reporter).
BusterJS is a JavaScript testing toolkit for both Node.js and browsers that comes with a TAP reporter.
ESLint is a JavaScript linting tool that runs on Node.js that has a TAP 'formatter'.
Mocha is a Node.js and browser testing framework that has a TAP reporter.
node-tap is a Node.js test framework and harness toolkit that produces and consumes the TAP format.
Painless a modern, easy to use test library for node and browsers that has an optional TAP reporter.
qunit-tap is a TAP output producer plugin for QUnit.
tape is a TAP producing test harness for Node.js and browsers.
testling runs unit tests in all the browsers and outputs TAP.
Test.Simple is a TAP-emitting JavaScript test framework.
Limbo is the application programming language for Inferno. Syntactically similar to C, it has several features that make it simpler, safer and yet more powerful and better suited to the development of concurrent, distributed systems.
From vita nuova
inferno-contrib-tap is a TAP producer that supports version 12.
Lua is a powerful, fast, lightweight, embeddable scripting language.
From lua.org
busted is a unit testing framework for Lua with a built-in TAP output handler.
lua-TestMore is a port of the Test::More framework to Lua.
MATLAB is a high-level language for numerical computation, visualization, and application development.
From MathWorks
TAPPlugin is a plugin for the matlab.unittest framework that produces output in the TAP version 12 format.
OCaml is an industrial strength programming language supporting functional, imperative and object-oriented styles.
From ocaml.org
TestSimple is a simple unit testing framework based on Perl's very successful Test::* modules.
Omnis Studio is a powerful development environment that lets you deploy apps to virtually any device, on any platform, including tablets, smartphones, and desktop computers.
From omnis.net
**OmnisTAP is a TAP-compliant unit-testing framework for Omnis Studio.
Pascal is a historically influential imperative and procedural programming language, designed as a small and efficient language intended to encourage good programming practices using structured programming and data structuring.
From Wikipedia
tap4pascal is a very easy-to-use, but powerful unit testing suite for Pascal (FreePascal, Turbo Pascal, et al), conforming to the TAP specification.
Perl is a general-purpose programming language originally developed for text manipulation and now used for a wide range of tasks including system administration, web development, network programming, GUI development, and more.
From perl.org
Apache::Test is a Test.pm wrapper with helpers for testing Apache.
Test::Builder is the base test library that Test::More and Test::Simple are built upon. It provides an API that these testing libraries use to output TAP.
Test.pm is a Perl library with an emphasis placed on simplicity. There are more ambitious Perl modules out there, such as Test::More and Test::Unit.
PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used open source general-purpose scripting language that is especially suited for web development and can be embedded into HTML.
From php.net
Lens is a PHP unit-testing framework with readable tests that catch everything.
PHPUnit is a programmer-oriented testing framework for PHP. It is an instance of the xUnit architecture for unit testing frameworks and supports logging TAP.
SimpleTest TAP reporter is a TAP producer for SimpleTest.
SnapTest is a powerful unit testing framework for PHP 5+, leveraging PHP's unique runtime language to simplify the unit test process without sacrificing the agility tests provide. It has a built-in TAP reporter.
Test.php is a TAP test framework for PHP with an interface like Test::More.
testmore is a TAP-compliant PHP testing library based on Test::More.
Prolog is a general purpose logic programming language that has its roots in first-order logic, a formal logic, and unlike many other programming languages, Prolog is declarative: the program logic is expressed in terms of relations, represented as facts and rules.
From Wikipedia
library(tap) is a TAP library written for SWI-Prolog, but may work with other Prologs.
Python is an easy to learn, powerful programming language. It has efficient high-level data structures and a simple but effective approach to object-oriented programming.
From python.org
Bayeux is a module for generating
fully decorated TAP from Python
(based on yamlish).
It also includes a unittest
module that produces a TAP stream instead of the normal output.
nose-tap is a plugin for nose that outputs TAP.
PyTAP is a port of Test::Simple to Python.
pytest-tap is a plugin for pytest that outputs TAP.
tappy
provides tools for working with TAP in Python.
It includes a module to work with
unittest
.
Ruby is a dynamic, open source programming language with a focus on simplicity and productivity. It has an elegant syntax that is natural to read and easy to write.
From ruby-lang.org
Bacon is a small RSpec clone that supports TAP output.
RSpec TAP is a formatter for RSpec which outputs TAP.
Sass is the most mature, stable, and powerful professional grade CSS extension language in the world.
From sass-lang.com
SCSS-Lint is a configurable tool for writing clean and consistent SCSS that supports TAP output.
A shell script is a computer program designed to be run by the Unix shell, a command line interpreter. The various dialects of shell scripts are considered to be scripting languages. Typical operations performed by shell scripts include file manipulation, program execution, and printing text.
From Wikipedia
bash-tap-functions is a TAP-producing Bash libary.
Bats is a TAP-compliant testing framework for Bash. It provides a simple way to verify that the UNIX programs you write behave as expected.
Git has code that supplies the
ok
/ not ok
and skipping functionality. Look in t/test-lib.sh
and
other test files for example code and use.
Sharness is a portable shell library to write, run, and analyze automated tests for Unix programs. Since all tests output TAP, they can be run with any TAP harness.
Tapper-autoreport turns bash scripts into TAP test scripts.
SQL (Structured Query Language) is a special-purpose programming language designed for managing data held in a relational database management system (RDBMS).
From Wikipedia
db2unit is a unit testing framework for SQL PL routines that runs in IBM DB2 LUW and produces TAP version 13 output.
MyTAP is a suite of database functions that make it easy to write TAP-emitting unit tests in mysql scripts.
pgTAP is a suite of database functions
for PostgreSQL that make it easy to write
TAP-emitting unit tests in psql
scripts or xUnit-style test functions.
PL/SQL TAP is a script for testing with Oracle's PL/SQL procedural extension for SQL.
TypeScript is a free and open source programming language developed and maintained by Microsoft. It is a strict superset of JavaScript.
From Wikipedia
alsatian is a unit testing framework which supports test cases and outputs TAP output.
Testy.Ts is a modern TypeScript testing framework with a built-in TAP reporter.
TypeSpec is a BDD framework for TypeScript with a built-in TapReporter class for TAP compliant output.
Some test frameworks solve problems that are not specific to a programming language. These frameworks might be used for infrastructure or other kinds of high level testing.
autotest is a framework for fully automated testing with the ability to produce TAP reports.
Xperior is a system for testing distributed filesystems. Xperior can output TAP test results.