Testing¶
Before contributing to Meetup API, make sure your patch passes the test suite and your code style passes the code linting suite.
Meetup API uses Tox to execute testing and linting procedures. Tox is the only dependency you need to run linting or the test suite, the remainder of the requirements will be installed by Tox into environment specific virtualenv paths. Before testing, make sure you have Tox installed:
pip install tox
To run the full test and lint suite against your changes, simply run Tox. Tox should return without any errors. You can run Tox against all of the environments by running:
tox
To target a specific environment:
tox -e py27
The tox
configuration has the following environments configured. You can
target a single environment to limit the test suite:
Env Name | Description |
---|---|
py26 | Run the test suite using Python 2.6 |
py27 | Run the test suite using Python 2.7 |
py34 | Run the test suite using Python 3.4 |
py35 | Run the test suite using Python 3.5 |
coverage | Run the test suite and check code coverage |
flake8 | Run code linting using flake8. This currently runs pyflakes, pep8, and other linting tools. |
docs | Test documentation compilation with Sphinx. |
Continuous Integration¶
The Meetup API test suite is exercised by Travis CI on every push to the repo at GitHub. You can check out the current build status: https://travis-ci.org/pferate/meetup-api