The Test Anything Protocol makes testing with different languages in the same project easy. It decouples the tests generating results from the harness interpreting the results. With VimTAP we now have TAP for Vim.
About TAP (Test Anything Protocol):
The Test Anything Protocol (TAP) is a general purpose format for transmitting the result of test programs to a thing which interprets and takes action on those results. Though it is language agnostic, it is primarily used by Perl modules.
TAP separates the test program from the thing which interprets the results using simple text pipelining. This allows one to run several tests isolated in different processes together in one test harness. It allows one to write tests in different languages and run them together with unified results. It also allows the runner of the tests, rather than the author of the tests, to decide how to display the results. The results can be transformed by the runner into other formats (for example, XML) or even cause actions to happen (a smoke test server can send email on failure).
TAP is designed to be human readable. The simple "ok", "not ok" output and descriptions do not require a parser or even extensive knowledge of TAP for the basic intention of each line to be understood by the user.
TAP is designed to be portable. Its plain text format means it will work with any language or operating system.
TAP is designed to be streamable. The results can be interpreted a line at a time without having to wait for the test to complete
For now the following is implemented:
Diag is probably not completely functional, yet. Also a wrapper to run tests from the prove utility is not implemented, yet.
The script is packaged as a Vimball.