{ "info": { "author": "Simon Gomizelj", "author_email": "simon@vodik.xyz", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Framework :: Pytest", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy", "Topic :: Software Development :: Testing" ], "description": "pytest-exceptional\n==================\n\n\n.. image:: https://img.shields.io/pypi/v/pytest-exceptional.svg\n :target: https://pypi.python.org/pypi/pytest-exceptional\n.. image:: https://img.shields.io/pypi/pyversions/pytest-exceptional.svg\n :target: https://pypi.python.org/pypi/pytest-exceptional\n.. image:: https://travis-ci.org/vodik/pytest-exceptional.svg?branch=master\n :target: https://travis-ci.org/vodik/pytest-exceptional\n :alt: See Build Status on Travis CI\n.. image:: https://ci.appveyor.com/api/projects/status/github/vodik/pytest-exceptional?branch=master\n :target: https://ci.appveyor.com/project/vodik/pytest-exceptional/branch/master\n :alt: See Build Status on AppVeyor\n\nBetter pytest Exceptions\n------------------------\n\nThis plugin attempts to make richer pytest exceptions a snap to write.\nFor example, consider the following exception:\n\n.. code:: python\n\n class StartFire(pytest.Exception):\n __teststatus__ = 'fire', '\ud83d\udd25', ('FIRE', {'purple': True, 'bold': True})\n\n def toterminal(self, longrepr, tw):\n tw.line(\"FIRE! Please evacuate the building!\")\n longrepr.toterminal(tw)\n\n def summary_header(self, header):\n return \"Fire started during {}\".format(header)\n\nWhen this specific exception class is thrown, the pretty printing and\nresult categorization is now in the hands of the exception, making it\nmore straightforward than writing special purpose plugins.::\n\n ============================= test session starts ==============================\n platform linux -- Python 3.6.0, pytest-3.0.7, py-1.4.32, pluggy-0.4.0\n cachedir: .cache\n rootdir: /home/simon/src/pytest-exceptional, inifile:\n plugins: exceptional-0.1.0\n collected 1 items\n\n tests/test_fail_test.py::test_fire FIRE\n\n ________________________ Fire started during test_fire _________________________\n FIRE! Please evacuate the building!\n\n def test_fire():\n > raise StartFire('There is a fire')\n E test_fail_test.StartFire: There is a fire\n\n tests/test_fail_test.py:47: StartFire\n ============================ 1 fire in 0.02 seconds ============================\n\nTODO\n----\n\nProvide more control over formatting and presentation without making\nthe API too cumbersome. Still very much an early prototype and\nprobably not close to a stable API.\n\nInstallation\n------------\n\nYou can install \"pytest-exceptional\" via `pip`_ from `PyPI`_::\n\n $ pip install pytest-exceptional\n\nContributing\n------------\nContributions are very welcome. Tests can be run with `tox`_, please\nensure the coverage at least stays the same before you submit a pull\nrequest.\n\nLicense\n-------\n\nDistributed under the terms of the `MIT`_ license,\n\"pytest-exceptional\" is free and open source software\n\n\nIssues\n------\n\nIf you encounter any problems, please `file an issue`_ along with a\ndetailed description.\n\n.. _`Cookiecutter`: https://github.com/audreyr/cookiecutter\n.. _`@hackebrot`: https://github.com/hackebrot\n.. _`MIT`: http://opensource.org/licenses/MIT\n.. _`BSD-3`: http://opensource.org/licenses/BSD-3-Clause\n.. _`GNU GPL v3.0`: http://www.gnu.org/licenses/gpl-3.0.txt\n.. _`Apache Software License 2.0`: http://www.apache.org/licenses/LICENSE-2.0\n.. _`cookiecutter-pytest-plugin`: https://github.com/pytest-dev/cookiecutter-pytest-plugin\n.. _`file an issue`: https://github.com/vodik/pytest-exceptional/issues\n.. _`pytest`: https://github.com/pytest-dev/pytest\n.. _`tox`: https://tox.readthedocs.io/en/latest/\n.. _`pip`: https://pypi.python.org/pypi/pip/\n.. _`PyPI`: https://pypi.python.org/pypi\n", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/vodik/pytest-exceptional", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "pytest-exceptional", "package_url": "https://pypi.org/project/pytest-exceptional/", "platform": "", "project_url": "https://pypi.org/project/pytest-exceptional/", "project_urls": { "Homepage": "https://github.com/vodik/pytest-exceptional" }, "release_url": "https://pypi.org/project/pytest-exceptional/0.1.1/", "requires_dist": null, "requires_python": "", "summary": "Better exceptions", "version": "0.1.1" }, "last_serial": 2711113, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "3428f186df5dd5c17ab14f25d0dd62f7", "sha256": "5f30750b103100eb2cf1bd75fcae5136b64ace9ecf62aa567a44af28d8f02cc2" }, "downloads": -1, "filename": "pytest-exceptional-0.1.0.tar.gz", "has_sig": false, "md5_digest": "3428f186df5dd5c17ab14f25d0dd62f7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4296, "upload_time": "2017-03-15T03:58:25", "url": "https://files.pythonhosted.org/packages/24/0c/7a002c5a9a502e5b61dbea4135c995793474d3559040934cb5d29598723c/pytest-exceptional-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "d2255a0b637865c892946a0c1608d82a", "sha256": "0367f7e700f6e4c460b4a4912c0e849a8afb31105a7bbdf2133a89180dfc579c" }, "downloads": -1, "filename": "pytest-exceptional-0.1.1.tar.gz", "has_sig": false, "md5_digest": "d2255a0b637865c892946a0c1608d82a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4708, "upload_time": "2017-03-16T20:26:50", "url": "https://files.pythonhosted.org/packages/b0/d7/bbd6c6ad512ff4b7389439055158dae7409ae8f9696bc6f7f7665e8facb2/pytest-exceptional-0.1.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "d2255a0b637865c892946a0c1608d82a", "sha256": "0367f7e700f6e4c460b4a4912c0e849a8afb31105a7bbdf2133a89180dfc579c" }, "downloads": -1, "filename": "pytest-exceptional-0.1.1.tar.gz", "has_sig": false, "md5_digest": "d2255a0b637865c892946a0c1608d82a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4708, "upload_time": "2017-03-16T20:26:50", "url": "https://files.pythonhosted.org/packages/b0/d7/bbd6c6ad512ff4b7389439055158dae7409ae8f9696bc6f7f7665e8facb2/pytest-exceptional-0.1.1.tar.gz" } ] }