summaryrefslogtreecommitdiff
path: root/tox.ini
blob: fc39d314d640ebb30d1368e7a592bb419a2bfdaa (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# Tox (http://tox.testrun.org/) is a tool for running tests
# in multiple virtualenvs. This configuration file will run the
# test suite on all supported python versions. To use it, "pip install tox"
# and then run "tox" from this directory.

[tox]
envlist =
    py27, py34, py35, py36, py37, pypy
# Other valid evironments are:
#   docs
#   release

[testenv]
passenv =
    WITH_EXTRAS
deps =
    pipenv
extras =
    {env:WITH_EXTRAS:}
commands =
    pipenv install --dev --skip-lock
    # Only run How It Works doctest on Python 3.6.
    py36: {envpython} -m doctest -o IGNORE_EXCEPTION_DETAIL docs/source/howitworks.rst
    # Other doctests are run for all pythons.
    pytest README.rst docs/source/intro.rst docs/source/examples.rst
    pytest --doctest-modules {envsitepackagesdir}/natsort
    # Full test suite. Allow the user to pass command-line objects.
    pytest --flakes --pep8 --tb=short --cov {envsitepackagesdir}/natsort --cov-report term-missing {posargs:}

# Build documentation.
[testenv:docs]
deps =
    sphinx
    sphinx_rtd_theme
commands =
    {envpython} setup.py build_sphinx

[testenv:release]
deps =
    twine
    check-manifest
commands =
    check-manifest
    {envpython} setup.py sdist bdist_wheel
    twine upload dist/*