{ "info": { "author": "Louis Paternault", "author_email": "spalax@gresille.org", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Plugins", "Intended Audience :: Developers", "License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3 :: Only", "Topic :: Software Development :: Testing" ], "description": "fullcoverage \u2014 Cheat and get 100% test coverage\n===============================================\n\n|sources| |pypi| |build| |documentation| |license|\n\n.. warning::\n\n In case this is not clear enough: *this module is a joke !* Do not use it. It is not dangerous; it is just useless.\n\nNowadays, every trendy project has a collection of shiny littel badges. They look great, but they can be hard to get. This modules is here to help you to get the 100\u00a0% test coverage badge, without any effort.\n\n\n.. contents::\n :local:\n :backlinks: none\n\nWhat's new?\n-----------\n\nSee `changelog\n`_.\n\nDownload and install\n--------------------\n\n* From sources:\n\n * Download: https://pypi.python.org/pypi/fullcoverage\n * Install (in a `virtualenv`, if you do not want to mess with your distribution installation system)::\n\n python3 setup.py install\n\n* From pip::\n\n pip install fullcoverage\n\n* Quick and dirty Debian (and Ubuntu?) package\n\n This requires `stdeb `_ to be installed::\n\n python3 setup.py --command-packages=stdeb.command bdist_deb\n sudo dpkg -i deb_dist/fullcoverage-_all.deb\n\nHow-to\n------\n\nLet's say you want to get you module ``foobar`` thoroughly covered.\n\n#. Install `fullcoverage`::\n\n pip install fullcoverage\n\n#. Enable this plugin. That is, in the `.coveragerc` file of ``foobar``, have the lines::\n\n [run]\n plugins = fullcoverage.plugin\n\n#. Optionnaly, if you want to restrict the test report to your module, you can add, in the same `.coveragerc` file::\n\n [fullcoverage.plugin]\n source = foobar\n\n#. If you already have tests that import all of ``foobar`` submodules, that's it. Otherwise, somewhere in your tests, have the following lines import everything in your module::\n\n import foobar\n import fullcoverage\n\n fullcoverage.import_all(foobar)\n\n#. That's it! You can now run your tests::\n\n coverage run --source foobar -m unittest\n coverage report --fail-under=100\n\nBugs and Limitations\n--------------------\n\n* This does not work with ``doctest``. Please feel free to `send a patch `__.\n* This only works with python 3.5. Please feel free to `send a patch `__.\n* Even though tests cover 100\u00a0% of your module, it may still contain bugs.\n\nFAQ\n---\n\n* Isn't it dangerous? Are you running every line of a module to get 100\u00a0% test coverage? What if you run a line ``shutil.rmtree('/')`` ?\n\nThis plugins does not run random line of codes. It imports every plugin that is to be covered, but it cheats ``coverage`` into thinking they were thoroughly tested, without testing anything. If your module is safe to import, it is safe to use ``fullcoverage``. If your module is not safe to import, fix your module.\n\n* If your plugin is so great, why aren't you showing off with one of those *100\u00a0% coverage* badges?\n\nWell, ``fullcoverage`` is hosted on a `Gitlab instance `_, which `does not provide those badges yet `_. But this plugin is implemented to test itself, and `it is thoroughly covered by tests `_.\n\n.. |documentation| image:: http://readthedocs.org/projects/fullcoverage/badge\n :target: http://fullcoverage.readthedocs.org\n.. |pypi| image:: https://img.shields.io/pypi/v/fullcoverage.svg\n :target: http://pypi.python.org/pypi/fullcoverage\n.. |license| image:: https://img.shields.io/pypi/l/fullcoverage.svg\n :target: http://www.gnu.org/licenses/gpl-3.0.html\n.. |sources| image:: https://img.shields.io/badge/sources-fullcoverage-brightgreen.svg\n :target: http://git.framasoft.org/spalax/fullcoverage\n.. |build| image:: https://git.framasoft.org/spalax/fullcoverage/badges/master/build.svg\n :target: https://git.framasoft.org/spalax/fullcoverage/builds", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://git.framasoft.org/spalax/fullcoverage", "keywords": null, "license": "GPLv3 or any later version", "maintainer": null, "maintainer_email": null, "name": "fullcoverage", "package_url": "https://pypi.org/project/fullcoverage/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/fullcoverage/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://git.framasoft.org/spalax/fullcoverage" }, "release_url": "https://pypi.org/project/fullcoverage/0.1.0/", "requires_dist": null, "requires_python": null, "summary": "Cheat and get 100% test coverage", "version": "0.1.0" }, "last_serial": 2025795, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "d86c66ee48794d59cf8cf6eadcb516ec", "sha256": "4ae2005f36a6167c8de81c8a7c6f31fd42e1b4ede92842fc33a7ab04dd7c9233" }, "downloads": -1, "filename": "fullcoverage-0.1.0-py3-none-any.whl", "has_sig": true, "md5_digest": "d86c66ee48794d59cf8cf6eadcb516ec", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 8504, "upload_time": "2016-03-24T21:11:50", "url": "https://files.pythonhosted.org/packages/4e/71/4ad2e521b4b41b8cf5ae55520f69772e2ef0365b45962adbc06affd14e5a/fullcoverage-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0d96ba5a8a5cc8ec2ba0806734d621f5", "sha256": "f7ba17150efafd8336cd7266cfd93cf01a13401fd305c1f9fbc37f9d97ea2395" }, "downloads": -1, "filename": "fullcoverage-0.1.0.tar.gz", "has_sig": true, "md5_digest": "0d96ba5a8a5cc8ec2ba0806734d621f5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24893, "upload_time": "2016-03-24T21:12:02", "url": "https://files.pythonhosted.org/packages/ae/04/93acd2ad4f51c90ee63386094b998c6b2256d7b66deba9370a6ffa6565dc/fullcoverage-0.1.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "d86c66ee48794d59cf8cf6eadcb516ec", "sha256": "4ae2005f36a6167c8de81c8a7c6f31fd42e1b4ede92842fc33a7ab04dd7c9233" }, "downloads": -1, "filename": "fullcoverage-0.1.0-py3-none-any.whl", "has_sig": true, "md5_digest": "d86c66ee48794d59cf8cf6eadcb516ec", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 8504, "upload_time": "2016-03-24T21:11:50", "url": "https://files.pythonhosted.org/packages/4e/71/4ad2e521b4b41b8cf5ae55520f69772e2ef0365b45962adbc06affd14e5a/fullcoverage-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0d96ba5a8a5cc8ec2ba0806734d621f5", "sha256": "f7ba17150efafd8336cd7266cfd93cf01a13401fd305c1f9fbc37f9d97ea2395" }, "downloads": -1, "filename": "fullcoverage-0.1.0.tar.gz", "has_sig": true, "md5_digest": "0d96ba5a8a5cc8ec2ba0806734d621f5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24893, "upload_time": "2016-03-24T21:12:02", "url": "https://files.pythonhosted.org/packages/ae/04/93acd2ad4f51c90ee63386094b998c6b2256d7b66deba9370a6ffa6565dc/fullcoverage-0.1.0.tar.gz" } ] }