Single command to create coverage reports (assumes a bin/test)
This package installs one command: createcoverage that runs your tests with coverage.py and opens the coverage reports in your browser. All with just one single handy command.
Assumption: you’re using buildout. Or rather, the assumption is that you have a bin/test command that runs all your tests.
No options are passed to coverage.py, so any extra options you want to give to coverage must be put in a .coveragerc in your buildout’s root. This is a good idea in any case :-) An example .coveragerc that omits code you normally don’t want to include in a coverage report:
[report] omit = /home/*/.buildout/eggs/* /usr/* parts/* eggs/* */test*
Installing createcoverage in a zc.recipe.egg section is enough. Createcoverage itself depends on coverage.py and makes sure bin/coverage is created:
[console_scripts] recipe = zc.recipe.egg eggs = createcoverage
Code, bugs, ideas
The code is hosted at github: https://github.com/reinout/createcoverage .
You can also report issues and bugs and ideas there. Pull requests are of course also very welcome :-)
The first time, you’ll have to run the “bootstrap” script to set up setuptools and buildout:
$ python bootstrap.py
And then run buildout to set everything up:
(On windows it is called bin\buildout.exe).
You’ll have to re-run buildout when you or someone else made a change in setup.py or buildout.cfg.
The current package is installed as a “development package”, so changes in .py files are automatically available (just like with python setup.py develop).
Tests can always be run with bin/test or bin\test.exe.
Created by Reinout van Rees.
Changelog of createcoverage
- Fixed bin/coverage script (it pointed at an old entry point). Note that this script is only included because buildout originally didn’t install scripts of dependencies. It does now, with the proper configuration. But installing this script ourselves solves every case.
- Upped the coverage requirement (to 3.7). Coveralls.io’s library needs 3.6 and this makes it a bit easier to make sure there’s a new enough release.
- Note: no functional changes in this release.
- Moved to github: https://github.com/reinout/createcoverage .
- Noted (in the setup.py classifiers) that we work just fine with python 3!
- Set up travis testing and coveralls.io integration. 100% coverage, of course :-)
- Packaging fix. Nothing changed (functionally) compared to 1.3.
- Some internal cleanup and a small pypi metadata fix.
- Added -t/--test-args command line option. The string passed to that is passed straight on to the test runner. For instance, use -t "-m somemodule" to effectively run bin/test -m somemodule. Note the need for quotes (single or double) as you’re using an option to pass options… Fix by Godefroid Chapelle, thanks!
- Fixed a problem with opening the coverage index.html file on OS X when using Python 2.7 or newer by using a file URL instead of a path.
- Making the path to the coverage index.html file absolute before opening it in the webbrowser. This prevents OSX from complaining that it isn’t a URL.
- Added option (“-d”) for specifying an output directory. Specifying it also makes sure the results aren’t opened in a webbrowser (as the option is intended for offline operation for automatic documentation generation purposes).
- Falling back to global ‘coverage’ binary if there isn’t one in bin/coverage.
- Added missing MANIFEST.in file so that the distribution on pypi is complete now.
- Documentation update: pointing at bitbucket for code, issues, ideas.
- First working version.
- Copied some code from the “createzopecoverage” package.
- Initial library skeleton created by nensskel. [reinout]