{ "info": { "author": "Tom Keefe", "author_email": "tomlkeefe@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 :: 3", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: Implementation :: CPython", "Topic :: Software Development :: Testing" ], "description": "==============\npytest-involve\n==============\n\n.. image:: https://img.shields.io/pypi/v/pytest-involve.svg\n :target: https://pypi.org/project/pytest-involve\n :alt: PyPI version\n\n.. image:: https://img.shields.io/pypi/pyversions/pytest-involve.svg\n :target: https://pypi.org/project/pytest-involve\n :alt: Python versions\n\n.. image:: https://travis-ci.org/MisterKeefe/pytest-involve.svg?branch=master\n :target: https://travis-ci.org/MisterKeefe/pytest-involve\n :alt: See Build Status on Travis CI\n\n``pytest-involve`` is a ``pytest`` plugin for running only tests which cover a given file\nor set of files. It's called ``pytest-involve`` because it lets you run only tests involving\nmodules or members from those modules.\n\nUsually with ``pytest`` the test set to run is specified and coverage collected based on that set. When ``pytest-involve``\nis used, instead you specify the file(s) you want to cover, and test files are selected based\non whether they import from those file(s) or not.\n\nUsages\n------\n\n``pytest-involve`` adds one command line argument to ``pytest``, namely ``--involving``.\nThis can be provided a file path, a module import path (such as you would use in a\nPython interpreter), or either of the above suffixed with ``::`` and the name of something defined in there:\n\n``pytest --involving ./path/to/file.py``\n\n``pytest --involving importable.module.path``\n\n``pytest --involving ./path/to/file.py::member``\n\n``pytest --involving importable.module.path::member``\n\nThis will have the effect of only collecting and running tests which are defined in modules\nwhose imports overlap with the file(s) and member(s) specified with the ``--involving`` flag.\n\nThe plugin aims for recall over precision: It might run a few tests that\naren't strictly necessary, but it shouldn't ignore any tests that are.\n\nThe ``::member`` syntax will only work for things with a ``__file__`` attribute\n(so, mostly classes and functions).\n\n``pytest-involve`` should play nicely with most other ``pytest`` plugins and command line tooling.\nOne useful example is as follows:\n\n``git status -s | cut -c4- | grep .py | sed \"s/^/--involving /\" | xargs pytest``\n\nThis will take all ``*.py`` files mentioned in the output of ``git status`` and provide them\nto ``pytest`` prefixed with ``--involving``, which allows for quickly running unit tests\nrelevant to the current state of the repository.\n\n----\n\nThis `pytest`_ plugin was generated with `Cookiecutter`_ along with `@hackebrot`_'s `cookiecutter-pytest-plugin`_ template.\n\n\nFeatures\n--------\n\n* Run unit tests covering specific file(s) via the command line flag ``--involving``\n\nRequirements\n------------\n\n* ``pytest``\n* That's it.\n\nInstallation\n------------\n\nYou can install \"pytest-involve\" via `pip`_ from `PyPI`_::\n\n $ pip install pytest-involve\n\nContributing\n------------\nContributions are very welcome. Tests can be run with `tox`_, please ensure\nthe coverage at least stays the same before you submit a pull request.\n\nLicense\n-------\n\nDistributed under the terms of the `MIT`_ license, \"pytest-involve\" is free and open source software.\n\n\nIssues\n------\n\nIf you encounter any problems, please `file an issue`_ along with a detailed 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/MisterKeefe/pytest-involve/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\n\n", "description_content_type": "text/x-rst", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/MisterKeefe/pytest-involve", "keywords": "", "license": "MIT", "maintainer": "Tom Keefe", "maintainer_email": "tomlkeefe@gmail.com", "name": "pytest-involve", "package_url": "https://pypi.org/project/pytest-involve/", "platform": "", "project_url": "https://pypi.org/project/pytest-involve/", "project_urls": { "Homepage": "https://github.com/MisterKeefe/pytest-involve" }, "release_url": "https://pypi.org/project/pytest-involve/0.1.3/", "requires_dist": [ "pytest (>=3.5.0)" ], "requires_python": ">=3.6", "summary": "Run tests covering a specific file or changeset", "version": "0.1.3" }, "last_serial": 5908739, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "b0e4b59332ba274f6059b32f27831726", "sha256": "ec41d4409612649db31bebb9d860ac500b7bed797354f3cb59595ebccfad33b6" }, "downloads": -1, "filename": "pytest_involve-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "b0e4b59332ba274f6059b32f27831726", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 7524, "upload_time": "2019-09-06T21:12:13", "url": "https://files.pythonhosted.org/packages/ba/6d/e9de3c264609d13b27d4eaf012f9c970691b69d542b500447afc44acb509/pytest_involve-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "32492035826ed86d7de6ffe16e3672e1", "sha256": "20a12feecc737b9495a5cc2e0acd3f21227afe2f3b834a439507ee8eeaf06c4b" }, "downloads": -1, "filename": "pytest-involve-0.1.0.tar.gz", "has_sig": false, "md5_digest": "32492035826ed86d7de6ffe16e3672e1", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 7362, "upload_time": "2019-09-06T21:12:16", "url": "https://files.pythonhosted.org/packages/df/06/e06add1e295dd5e22545ffc6ad0862ac57a53479769cf5b1ed07a773027b/pytest-involve-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "afe6f6c7c135bb779546d42b5470072b", "sha256": "03edfd4d3a89f890313a834b974a7e3227eb2c842ef62edaf4db712dc64725f5" }, "downloads": -1, "filename": "pytest_involve-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "afe6f6c7c135bb779546d42b5470072b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 7509, "upload_time": "2019-09-06T21:13:38", "url": "https://files.pythonhosted.org/packages/11/39/517b07d3e8593d01f4dd090fcee08bbee6c38ff030165ab5621600b230b4/pytest_involve-0.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a3267eaca60a323fa8271e99819a4fe3", "sha256": "9dea50b650dc03b3d6b945f3870b4209932eadb2aa44b8c8b0cd88d58383103a" }, "downloads": -1, "filename": "pytest-involve-0.1.1.tar.gz", "has_sig": false, "md5_digest": "a3267eaca60a323fa8271e99819a4fe3", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 7331, "upload_time": "2019-09-06T21:13:40", "url": "https://files.pythonhosted.org/packages/8e/36/8096b2e52f743efc9d74865c1a8ee622dd761f84415dacbed8b0c13b3e1a/pytest-involve-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "33689523b0ea47f042005e734e30793f", "sha256": "29a74e92921635c33e17797c3c99581b398c3eae715212bd2ad2ac1cdf3f33da" }, "downloads": -1, "filename": "pytest_involve-0.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "33689523b0ea47f042005e734e30793f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 7501, "upload_time": "2019-09-06T21:16:41", "url": "https://files.pythonhosted.org/packages/d1/60/1ac830bdc2276a89291d3f8c834760c28840f5de1caf8d9b1be41c0cebda/pytest_involve-0.1.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "54c192617782630087254cb0ff472209", "sha256": "5bbeb868f3868a35177a2bcb7f5271a9fae75447932ddfd2f816c7971b0bacd5" }, "downloads": -1, "filename": "pytest-involve-0.1.2.tar.gz", "has_sig": false, "md5_digest": "54c192617782630087254cb0ff472209", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 7315, "upload_time": "2019-09-06T21:16:43", "url": "https://files.pythonhosted.org/packages/3f/5f/c286183d728ff77b9082977952068bbbfd419d4f1357cc7a7a964d96216e/pytest-involve-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "ace229c80046e78945d3c56d3481946b", "sha256": "92cb38451daaadc21c56ec57eb877302f92c016b22dc8affe49fa0b6f2811d07" }, "downloads": -1, "filename": "pytest_involve-0.1.3-py3-none-any.whl", "has_sig": false, "md5_digest": "ace229c80046e78945d3c56d3481946b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 7617, "upload_time": "2019-09-30T20:11:43", "url": "https://files.pythonhosted.org/packages/5d/02/b89bc9e2c1c0abc41b61de2b07a0decd053cce5afeac8f9e1d2b9ee98e8f/pytest_involve-0.1.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "25e7c31fa8a6305ca8b4c2ee0626cc3d", "sha256": "fbb9cca8df216410f4d1d6092be9c354225681f9983a1ae276080035f7e3c387" }, "downloads": -1, "filename": "pytest-involve-0.1.3.tar.gz", "has_sig": false, "md5_digest": "25e7c31fa8a6305ca8b4c2ee0626cc3d", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 7454, "upload_time": "2019-09-30T20:11:45", "url": "https://files.pythonhosted.org/packages/97/93/020e1a6456b9238b8fe27b25f3cb2a3083e89d624405a9392ee04978bfee/pytest-involve-0.1.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "ace229c80046e78945d3c56d3481946b", "sha256": "92cb38451daaadc21c56ec57eb877302f92c016b22dc8affe49fa0b6f2811d07" }, "downloads": -1, "filename": "pytest_involve-0.1.3-py3-none-any.whl", "has_sig": false, "md5_digest": "ace229c80046e78945d3c56d3481946b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 7617, "upload_time": "2019-09-30T20:11:43", "url": "https://files.pythonhosted.org/packages/5d/02/b89bc9e2c1c0abc41b61de2b07a0decd053cce5afeac8f9e1d2b9ee98e8f/pytest_involve-0.1.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "25e7c31fa8a6305ca8b4c2ee0626cc3d", "sha256": "fbb9cca8df216410f4d1d6092be9c354225681f9983a1ae276080035f7e3c387" }, "downloads": -1, "filename": "pytest-involve-0.1.3.tar.gz", "has_sig": false, "md5_digest": "25e7c31fa8a6305ca8b4c2ee0626cc3d", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 7454, "upload_time": "2019-09-30T20:11:45", "url": "https://files.pythonhosted.org/packages/97/93/020e1a6456b9238b8fe27b25f3cb2a3083e89d624405a9392ee04978bfee/pytest-involve-0.1.3.tar.gz" } ] }