pytest-tap is a reporting plugin for pytest that outputs
`Test Anything Protocol (TAP) <http://testanything.org/>`_ data.
TAP is a line based test protocol for recording test data in a standard way.

Use ``pytest --tap`` after installing to get started.

Follow `GitHub <https://github.com/python-tap/pytest-tap>`_
for more information or to follow this plugin's development.
Additional developer documentation about Python and TAP is on
`Read the Docs <https://tappy.readthedocs.io/>`_.

Releases
========

Version 3.5, January 30, 2025
-----------------------------

* Diagnostics now output logs, stdout, stderr for failed tests.
  Use the standard ``--show-capture`` flag to control the output.
* Diagnostics can display for passing tests using the
  ``--tap-log-passing-tests`` flag.
* Add support for Python 3.12.
* Add support for Python 3.13.
* Drop support for Python 3.8 (it is end-of-life).

Version 3.4, July 15, 2023
--------------------------

* Deprecate ``--tap-stream`` in favor of ``--tap`` for streaming mode.
* When using xdist, report the plan at the beginning of execution.
* Add support for Python 3.11.
* Drop support for Python 3.7 (it is end-of-life).
* Drop support for Python 3.6 (it is end-of-life).
* Drop support for PyPy.

Version 3.3, October 27, 2021
-----------------------------

* Add support for Python 3.10.
* Fix bug with help printing when streaming mode is enabled (#59).
* Drop support for Python 3.5 (it is end-of-life).
* Remove unmaintained (and likely inaccurate) locale info.

Version 3.2, November 7, 2020
-----------------------------

* Add support for Python 3.8.
* Add support for Python 3.9.
* Handle ``unittest.expectedFailure`` and ``pytest.xfail``
  in a way that is more consistent
  with the TAP specification.

Version 3.1, Released March 25, 2020
------------------------------------

* Fix reporting that was broken by the removal
  of a deprecated feature in pytest 5.4.

Version 3.0, Released January 28, 2020
--------------------------------------

* Drop support for Python 2.

Version 2.5, Released December 26, 2019
---------------------------------------

* Last supported version for Python 2.
* Pin tap.py to a version range that supports Python 2.

Version 2.4, Released October 21, 2019
--------------------------------------

* Handle failures that occur from setup.
  This will catch errors that may happen in fixtures.
* Drop support for Python 3.4 (it is end-of-life).
* Add support for Python 3.7.

Version 2.3, Released September 16, 2018
----------------------------------------

* Improve xfail handling.
  Honor strict xfail mode.
  Use TODO instead of SKIP directive to better align with TAP specification.
* Output the plan line (``1..N``) first.

Version 2.2, Released January 9, 2018
-------------------------------------

* Update output format to match closer to pytest styling.
* Drop support for Python 3.3 (it is end-of-life).

Version 2.1, Released August 12, 2017
-------------------------------------

* Add support for Python 3.6.
* Fix crash when running with pytest-xdist (#27).

Version 2.0, Released August 1, 2016
------------------------------------

* Update to tap.py 2.0.
  This update drops the indirect dependencies on nose and pygments.
* Improve handling of skips and xfails.
* Suppress ``# TAP results for TestCase`` for streaming.
  This header makes little sense for pytest's test function paradigm.
  Including the header generated extra noise for each function.
* Drop support for Python 2.6

Version 1.9, Released June 11, 2016
-----------------------------------

* Initial release as stand-alone plugin.
  The version number aligns with tappy.
