{ "info": { "author": "Johan Walles", "author_email": "johan.walles@gmail.com", "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.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: Implementation :: CPython", "Topic :: Software Development :: Testing" ], "description": "================\npytest-avoidance\n================\n\n.. image:: https://img.shields.io/pypi/v/pytest-avoidance.svg\n :target: https://pypi.org/project/pytest-avoidance\n :alt: PyPI version\n\n.. image:: https://img.shields.io/pypi/pyversions/pytest-avoidance.svg\n :target: https://pypi.org/project/pytest-avoidance\n :alt: Python versions\n\n.. image:: https://travis-ci.com/walles/pytest-avoidance.svg?branch=master\n :target: https://travis-ci.com/walles/pytest-avoidance\n :alt: See Build Status on Travis CI\n\n.. image:: https://ci.appveyor.com/api/projects/status/github/walles/pytest-avoidance?branch=master\n :target: https://ci.appveyor.com/project/walles/pytest-avoidance/branch/master\n :alt: See Build Status on AppVeyor\n\nMakes pytest skip tests that don't need rerunning\n\n\nHow pytest-avoidance avoids tests\n---------------------------------\nEach test is run with coverage enabled.\n\nAfter running each test, ``pytest-avoidance`` stores a list of which files\neach test touched.\n\nThe next time a test run is requested, ``pytest-avoidance`` checks if any\nof the files covered by this test have changed. If none have, the test can\nbe delared to ``PASS``, even without running it!\n\n``pytest-avoidance`` does not cache failures. Mostly because AFAIU\n``bazel`` doesn't either, and I'm just guessing they have good reasons not\nto...\n\n\nInstallation\n------------\n\nYou can install \"pytest-avoidance\" via `pip`_ from `PyPI`_::\n\n $ pip install pytest-avoidance\n\n\nIssues\n------\nIf you encounter any problems, please `file an issue`_ along with a detailed\ndescription.\n\n\nContributing\n------------\nContributions are very welcome. Please run tests before making PRs:\n\n $ tox --parallel=auto --skip-missing-interpreters=true\n\n\nReleasing a new Version\n-----------------------\n1. Do ``git tag | cat`` and think about what the next version number should be.\n2. Do ``git tag --annotate 1.2.3`` to set the next version number. The\n text you write for this tag will show up as the release description on Github,\n write something nice! And remember that the first line is the subject line for\n the release.\n3. ``tox -e pypi``\n4. ``git push --tags``\n\nYour release should now be visible on the `pytest-avoidance page on Pypi`_.\n\n\nLicense\n-------\nDistributed under the terms of the `MIT`_ license, \"pytest-avoidance\" is free\nand open source software.\n\n\n----\n\nThis `pytest`_ plugin was generated with `Cookiecutter`_ along with\n`@hackebrot`_'s `cookiecutter-pytest-plugin`_ template.\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/walles/pytest-avoidance/issues\n.. _`pytest`: https://github.com/pytest-dev/pytest\n.. _`tox`: https://tox.readthedocs.io/en/latest/\n.. _`pip`: https://pypi.org/project/pip/\n.. _`PyPI`: https://pypi.org/project\n.. _pytest-avoidance page on Pypi: https://pypi.org/project/pytest-avoidance\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/walles/pytest-avoidance", "keywords": "", "license": "MIT", "maintainer": "Johan Walles", "maintainer_email": "johan.walles@gmail.com", "name": "pytest-avoidance", "package_url": "https://pypi.org/project/pytest-avoidance/", "platform": "", "project_url": "https://pypi.org/project/pytest-avoidance/", "project_urls": { "Homepage": "https://github.com/walles/pytest-avoidance" }, "release_url": "https://pypi.org/project/pytest-avoidance/0.3.0/", "requires_dist": [ "pytest (>=3.5.0)", "coverage (==4.5.2)" ], "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "summary": "Makes pytest skip tests that don not need rerunning", "version": "0.3.0" }, "last_serial": 5307178, "releases": { "0.0.0": [ { "comment_text": "", "digests": { "md5": "a81cb117ff5bed6e2380d60d3ecdf825", "sha256": "35478dfc4feab329ddbf6e956881e7fe8fd6a6f548456db0327c817d6b1b8b42" }, "downloads": -1, "filename": "pytest_avoidance-0.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "a81cb117ff5bed6e2380d60d3ecdf825", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "size": 6026, "upload_time": "2019-02-14T13:29:42", "url": "https://files.pythonhosted.org/packages/3f/dc/b4910321fc0df02fdfc79b477a8dcedf75daa621c97eb95faf33c0fc73a2/pytest_avoidance-0.0.0-py3-none-any.whl" } ], "0.1.0": [ { "comment_text": "", "digests": { "md5": "a4a60dc2aa9426cb5d3f47897c2c0ede", "sha256": "29d15b26dc70e5c03226380f3bf0de7430a8502b253fe5e02ce8992f3e2a14c7" }, "downloads": -1, "filename": "pytest_avoidance-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "a4a60dc2aa9426cb5d3f47897c2c0ede", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "size": 6049, "upload_time": "2019-02-14T14:04:47", "url": "https://files.pythonhosted.org/packages/77/f9/68c0d3350b6bbe0202833fba4351045d64bbf0bad69f1898b1f2fe3ae0b2/pytest_avoidance-0.1.0-py3-none-any.whl" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "2a0bec54b005dc087c50c8748488ae95", "sha256": "c3fb0fc72c7f79882e390128f9a035a4ab7caa48ac1b4b45b53d88b0008b17a8" }, "downloads": -1, "filename": "pytest_avoidance-0.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "2a0bec54b005dc087c50c8748488ae95", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "size": 6046, "upload_time": "2019-02-15T05:14:27", "url": "https://files.pythonhosted.org/packages/41/1d/a35d7e6cfdd5d4e5243fcbfb1c37f4c1216e3dd692c3b0458b8d7120d5cf/pytest_avoidance-0.2.0-py2.py3-none-any.whl" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "9e8da5b75101d70b8ea7d43188d6b306", "sha256": "d28e320ce37ee6344ae3fb451dce5515088b7058a8044877464ffa140b2a8de3" }, "downloads": -1, "filename": "pytest_avoidance-0.3.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "9e8da5b75101d70b8ea7d43188d6b306", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "size": 6198, "upload_time": "2019-05-23T11:36:26", "url": "https://files.pythonhosted.org/packages/6b/8d/15d58f9ece5847b4ca814d509d577b47562e36980465981892bad90eb41d/pytest_avoidance-0.3.0-py2.py3-none-any.whl" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "9e8da5b75101d70b8ea7d43188d6b306", "sha256": "d28e320ce37ee6344ae3fb451dce5515088b7058a8044877464ffa140b2a8de3" }, "downloads": -1, "filename": "pytest_avoidance-0.3.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "9e8da5b75101d70b8ea7d43188d6b306", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "size": 6198, "upload_time": "2019-05-23T11:36:26", "url": "https://files.pythonhosted.org/packages/6b/8d/15d58f9ece5847b4ca814d509d577b47562e36980465981892bad90eb41d/pytest_avoidance-0.3.0-py2.py3-none-any.whl" } ] }