Metadata-Version: 1.1
Name: teamcity-messages
Version: 1.27
Summary: Send test results to TeamCity continuous integration server from unittest, nose, py.test, twisted trial, behave (Python 2.6+)
Home-page: https://github.com/JetBrains/teamcity-messages
Author: JetBrains
Author-email: teamcity-feedback@jetbrains.com
License: Apache 2.0
Description: Python Unit Test Reporting to TeamCity
        ======================================
        
        |  |jb_project| |license| |pypi_version|
        |  |versions| |appveyor_ci| |travis_ci|
        
        This package integrates Python with the
        `TeamCity <http://www.jetbrains.com/teamcity/>`__ Continuous Integration
        (CI) server. It allows sending `"service
        messages" <https://confluence.jetbrains.com/display/TCDL/Build+Script+Interaction+with+TeamCity>`__
        from Python code. Additionally, it provides integration with the
        following testing frameworks and tools:
        
        -  `py.test <http://pytest.org/>`__
        -  `nose <https://nose.readthedocs.org/>`__
        -  `Django <https://docs.djangoproject.com/en/1.8/topics/testing/advanced/#other-testing-frameworks>`__
        -  `unittest (Python standard
           library) <https://docs.python.org/2/library/unittest.html>`__
        -  `Trial (Twisted) <http://twistedmatrix.com/trac/wiki/TwistedTrial>`__
        -  `Flake8 <https://flake8.readthedocs.org/>`__
        -  `Behave <https://behave.readthedocs.io/>`__
        -  `PyLint <https://www.pylint.org/>`__
        
        Installation
        ------------
        
        Install using pip:
        
        ::
        
            pip install teamcity-messages
        
        or from source:
        
        ::
        
            python setup.py install
        
        Usage
        -----
        
        This package uses service messages to report the build status to TeamCity.
        See https://confluence.jetbrains.com/display/TCDL/Build+Script+Interaction+with+TeamCity
        for more details
        
        unittest
        ~~~~~~~~
        
        If you wish to use the Python default unittest framework, you should
        modify the Test runner, e.g.:
        
        .. code:: python
        
            import unittest
            from teamcity import is_running_under_teamcity
            from teamcity.unittestpy import TeamcityTestRunner
        
            class Test(unittest.TestCase):
                ...
        
            if __name__ == '__main__':
                if is_running_under_teamcity():
                    runner = TeamcityTestRunner()
                else:
                    runner = unittest.TextTestRunner()
                unittest.main(testRunner=runner)
        
        See ``examples/simple.py`` for a full example.
        
        If you are used to running unittest from the command line, instead of
        using ``python -m unittest``, you could use
        ``python -m teamcity.unittestpy``.
        
        nose
        ~~~~
        
        Test status reporting is enabled automatically under TeamCity build.
        
        py.test
        ~~~~~~~
        
        Test status reporting is enabled automatically under TeamCity build.
        
        Django
        ~~~~~~
        
        For Django 1.6+: Use the ``TeamcityDjangoRunner`` runner instead of the
        default ``DiscoverRunner`` by changing the following setting in your
        settings.py:
        
        .. code:: python
        
            TEST_RUNNER = "teamcity.django.TeamcityDjangoRunner"
        
        If you are using another test runner, you should override the
        ``run_suite`` method or use the ``DiscoverRunner.test_runner`` property
        introduced in Django 1.7.
        
        flake8
        ~~~~~~
        
        Test status reporting is enabled automatically under TeamCity build.
        
        PyLint
        ~~~~~~
        
        Add ``--output-format=teamcity.pylint_reporter.TeamCityReporter`` to
        the ``pylint`` command line.
        
        tox
        ~~~
        
        Pass TEAMCITY_VERSION environment variable inside your test virtenv.
        TEAMCITY_VERSION environment variable exists during build on TeamCity.
        teamcity-messages uses it in order to enable reporting to TeamCity.
        
        ::
        
            [testenv]
            passenv = TEAMCITY_VERSION
        
        Twisted trial
        ~~~~~~~~~~~~~
        
        Add ``--reporter=teamcity`` option to trial command line
        
        Behave
        ~~~~~~
        
        For Behave 1.2.6:
        
        .. code:: python
        
            from behave.formatter import _registry
            from behave.configuration import Configuration
            from behave.runner import Runner
            from teamcity.jb_behave_formatter import TeamcityFormatter
        
            _registry.register_as("TeamcityFormatter", TeamcityFormatter)
            configuration = Configuration()
            configuration.format = ["TeamcityFormatter"]
            configuration.stdout_capture = False
            configuration.stderr_capture = False
            Runner(configuration).run()
        
        
        Python version compatibility
        ----------------------------
        
        See https://pypi.org/project/teamcity-messages for Python version compatibility
        
        Contact information
        -------------------
        
        https://github.com/JetBrains/teamcity-messages
        
        TeamCity support: http://www.jetbrains.com/support/teamcity
        
        License
        -------
        
        Apache, version 2.0 http://www.apache.org/licenses/LICENSE-2.0
        
        .. |jb_project| image:: http://jb.gg/badges/official.svg
           :target: https://confluence.jetbrains.com/display/ALL/JetBrains+on+GitHub
           :alt: Official JetBrains project
        .. |license| image:: https://img.shields.io/badge/License-Apache%202.0-blue.svg
           :target: https://opensource.org/licenses/Apache-2.0
           :alt: Apache 2.0 license
        .. |versions| image:: https://img.shields.io/pypi/pyversions/teamcity-messages.svg
           :target: https://pypi.python.org/pypi/teamcity-messages
           :alt: Python versions supported
        .. |appveyor_ci| image:: https://ci.appveyor.com/api/projects/status/vt08bybn8k60a77s/branch/master?svg=true
           :target: https://ci.appveyor.com/project/shalupov/teamcity-python/branch/master
           :alt: AppVeyor Build Status
        .. |travis_ci| image:: https://travis-ci.org/JetBrains/teamcity-messages.svg?branch=master
           :target: https://travis-ci.org/JetBrains/teamcity-messages
           :alt: Travis Build Status
        .. |pypi_version| image:: https://badge.fury.io/py/teamcity-messages.svg
           :target: https://pypi.python.org/pypi/teamcity-messages
           :alt: PyPI version
        
        
        Change Log
        ----------
        
        Version 1.27 Fri Nov 8 2019
          - pylint: more compatibility fixes #215
        
        Version 1.26 Tue Nov 5 2019
          - drop Python 3.4 support
          - pylint: support pylint >= 2.3 by @PetrWolf #215
          - unittest: fix test hierarchy for subtests in tests with doc comments by @throwable-one #221
        
        Version 1.25 Mon Apr 15 2019
          - pytest: fix comparing asserts by @ikonst #210
          - Retry writes to stream on a EAGAIN IOError by @morganwahl #213
        
        Version 1.24 Mon Mar 18 2019
          - pylint: initial support by @PetrWolf #171 #200
        
        Version 1.23 Sun Mar 10 2019
          - Correct supported python versions, description, keywords
        
        Version 1.22 Sun Mar 10 2019
        
          - python: dropped Python 2.4, 2.5, 3.2, 3.3 support. Latest version to support them is 1.21
          - python: supported Python 3.6, 3.7
          - behave: initial support
          - unittest: subtests support
          - various unicode fixes
          - nose, unittest: correctly capture stdout to provide better test output
          - twisted: format twisted Failure objects by @jackrobison
          - various test infrastructure fixes by @sambrightman
          - flake8: correctly initialize options by @sambrightman
          - various fixes to use teamcity-messages code in JetBrains PyCharm IDE
        
        Version 1.21 Mon Jan 2 2017
        
          - pytest: internal Error during test collection with pytest and teamcity-messages plugin #112
          - nose: support capturing test output from successful tests, #113
          - Fix possible error when joining bytes and unicode (Victor Makarov, https://github.com/vitek)
        
        Version 1.20 Wed Aug 3 2016
        
          - flake8: 3.x support (Marc Abramowitz, https://github.com/msabramo)
          - flake8: --no-teamcity option for 3.x
        
        Version 1.19 Sun Jun 26 2016
        
          - fix flake8 2.6.0 support #103 (Cody Maloney, https://github.com/cmaloney)
        
        Version 1.18 Fri May 27 2016
        
          - pytest: do not report setup fixtures as separate tests (https://github.com/JetBrains/teamcity-messages/issues/91)
          - pytest: better test location presentation
          - pytest: support for pytest-pep8 and pytest-lint plugins
          - nose: make sure to turn reason into string when skipping test #98 (Piyush Gupta, https://github.com/piyushg91)
          - twisted: fix twisted failure test reporting #88 (Alexey Larkov, https://github.com/gmlexx)
          - flake8: better test name #89 (Marc Abramowitz, https://github.com/msabramo)
          - Don't force a newline at the start of service messages #90 (Gary Donovan, https://github.com/garyd203)
        
        Version 1.17 Sat Oct 17 2015
        
          - support coverage >= 4.0
          - automatically detect TeamCity in flake8 plugin (Marc Abramowitz, https://github.com/msabramo)
          - more messages support (Marc Abramowitz, https://github.com/msabramo)
            buildProblem, buildStatus, setParameter, importData, enableServiceMessages, disableServiceMessages etc
        
        Version 1.16 Sat Sep 12 2015
        
          - blocks messages support (Marc Abramowitz, https://github.com/msabramo)
        
        Version 1.15 Fri Aug 28 2015
        
          - Twisted's trial support (Alexey Larkov, https://github.com/gmlexx)
          - nose: fix tests reporting in multiprocess environment, thanks to Lewis Coates, https://github.com/lewisc
          - Fix UnicodeEncodeError when sys.stdout.encoding is None, thanks to Marc Abramowitz, https://github.com/msabramo
        
        Version 1.14 Sat May 23 2015
        
          - support python 2.4, 2.5
          - nose: report skip test reason (Lewis Coates, https://github.com/lewisc)
        
        Version 1.13 Sun Mar 29 2015
        
          - report coverage statistics from py.test pytest-cov plugin (Joseph Lombrozo, https://github.com/djeebus)
          - flake8 support (Joseph Lombrozo, https://github.com/djeebus)
        
        Version 1.12 Fri Jan 16 2015
        
          - unittest: fix 2.6 compat
        
        Version 1.11 Fri Jan 16 2015
        
          - nose: handle errors/failures in teardown/setup
          - nose: support multiprocess mode
          - nose: correctly report captured output
          - unittest: support skipped tests in Python 2.6 (by unittest2)
          - unittest: support subtests (Python 3.4+)
        
        Version 1.10 Fri Jan 09 2015
        
          - py.test: limit captured stdout/stderr by 1M per test and send it to TeamCity in chunks of 50K chars
          - py.test: automatically enable TeamCity reporting under TeamCity build
          - py.test: analyze capture flag of capture plugin and set captureStandardOutput parameter of testStarted accordingly
          - py.test: report setup failures as a separate test
          - py.test: report captured stdout/stderr (Aron Curzon, https://github.com/curzona) https://github.com/JetBrains/teamcity-messages/issues/12
          - py.test: fix parallel tests reporting https://github.com/JetBrains/teamcity-messages/issues/11
        
        Version 1.9 Thu Jan 08 2015
        
          - Django support (Ralph Broenink, https://github.com/ralphje)
          - Fix test hierarchies on nose and py.test
          - py.test: report errors in setup and teardown
          - py.test: report collect errors
          - py.test: support xfail
          - nose: support skipped tests
          - unittest: support skip, expected failure and unexpected success
          - Totally rewritten integration tests
            * Thanks to Ralph Broenink (https://github.com/ralphje) and Leonid Bushuev (https://github.com/leo-from-spb)
        
        Version 1.8 Sat Feb 08 2014
        
          - extensive tests for nose integration (James Carpenter)
          - added timestamps to TeamCity service messages (James Carpenter)
        
        Version 1.7 Sun Feb 03 2013
        
          - py.test support (Aaron Buchanan)
          - official Python 3 support
        
        Version 1.6 Tue Dec 06 2011
        
          - Bundle forgotten examples/simple.py
        
        Version 1.4 Tue Apr 27 2010
        
          - Fixed http://youtrack.jetbrains.net/issue/TW-11313
        
        Version 1.3 Fri Apr 11 2008
        
          - Added newlines due to http://youtrack.jetbrains.net/issue/TW-4412
        
        Version 1.2 Thu Apr 10 2008
        
          - Fixed tests gold data
        
        Version 1.1 Thu Apr 10 2008
        
          - Fixed README
        
        Version 1.0 Tue Apr 08 2008
        
          - initial release
        
        
Keywords: unittest teamcity test nose behave flake8 py.test pytest jetbrains
Platform: any
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2.6
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Topic :: Software Development :: Testing
