Skip to content

msabramo/tappy

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

50 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

tappy

PyPI version Downloads Build Status

Tools for working with the Test Anything Protocol (TAP) in Python

Full documentation for tappy is at Read the Docs. The information below provides a synopsis of what tappy supplies.

For the curious: tappy sounds like "happy."

Installation

tappy is available for download from PyPI. You can install it with pip or easy_install. tappy is currently supported on Python 2.6, 2.7, 3.2, 3.3, 3.4 and PyPy.

$ pip install tap.py

Motivation

Some projects have extremely heterogenous programming environments with many programming languages and tools. Because of the simplicity of TAP, the protocol can function as a lingua franca for testing. When every testing tool on a project can create TAP, a team can get a holistic view of their system. Python did not have a bridge from unittest to TAP so it was difficult to integrate a Python test suite into a larger TAP ecosystem.

tappy is Python's bridge to TAP.

Goals

  1. Provide TAP Producers which translate Python's unittest into TAP.
  2. Provide a TAP Consumer which reads TAP and provides a programmatic API in Python or generates summary results.
  3. Provide a command line interface for reading TAP.

Producers

  • TAPTestRunner - This subclass of unittest.TextTestRunner provides all the functionality of TextTestRunner and generates TAP files.
  • tappy for nose - tappy provides a plugin for the nose testing tool.

TODOs

There is a lot to do.

  • TODO: Have options for either 1 big TAP file or 1 file per test case.
  • TODO: Create an API similar to Test::Harness (if it makes sense to do so) to provide programmatic access to TAP results within Python programs.
  • TODO: Create an executable tappy which should function like prove.
  • TODO: Use travis to do an end to end test. Run the test suite to generate TAP and use tappy to parse and verify the results. The results should always be the same.

About

Python Test Anything Protocol (TAP) tools

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • Python 67.0%
  • Makefile 16.6%
  • Shell 16.4%