Running Unit Tests¶
Unit tests are located in the tests directory.
To test both the pure Python and C extension module based implementations, run the command:
tox
By default tests are run for Python 2.7, 3.5-3.9 and PyPy, with and without the C extensions.
py27-without-extensions
py35-without-extensions
py36-without-extensions
py37-without-extensions
py38-without-extensions
py39-without-extensions
py27-install-extensions
py35-install-extensions
py36-install-extensions
py37-install-extensions
py38-install-extensions
py39-install-extensions
py27-disable-extensions
py35-disable-extensions
py36-disable-extensions
py37-disable-extensions
py38-disable-extensions
py39-disable-extensions
pypy-without-extensions
If wishing to run tests for a specific Python combination you can run
tox with the -e option.
tox -e py39-install-extensions
If adding more tests and you need to add a test which is Python 2 or
Python 3 specific, then end the name of the Python code file as
_py2.py or _py3.py appropriately.
For further options refer to the documentation for tox.
Coverage¶
Coverage is collected and sent to Coveralls when running the tests automatically in GitHub Actions. To collect and view coverage results locally, here’s the sequence of commands:
tox
coverage combine
coverage html --ignore-errors
At this point there’s a directly called htmlcov with the formatted
results.