[tox]
envlist = py26,py27,pypy,py32,py33,docs,pep8,py3pep8

[testenv]
deps =
    coverage
    iso8601
    pretend
    pytest
commands =
    coverage run --source=cryptography/,tests/ -m pytest --capture=no --strict {posargs}
    coverage report -m

[testenv:docs]
deps =
    pyenchant
    sphinx
    sphinxcontrib-spelling
    sphinx_rtd_theme
basepython = python2.7
commands =
    sphinx-build -W -b html -d {envtmpdir}/doctrees docs docs/_build/html
    sphinx-build -W -b latex -d {envtmpdir}/doctrees docs docs/_build/latex
    sphinx-build -W -b doctest -d {envtmpdir}/doctrees docs docs/_build/html
    sphinx-build -W -b linkcheck docs docs/_build/html
    sphinx-build -W -b spelling docs docs/_build/html

# Temporarily disable coverage on pypy because of performance problems with
# coverage.py on pypy.
[testenv:pypy]
commands = py.test --capture=no --strict {posargs}

[testenv:pep8]
deps = flake8
commands = flake8 .

[testenv:py3pep8]
basepython = python3.3
deps = flake8
commands = flake8 .

[flake8]
exclude = .tox,*.egg

[tox]
envlist = py26,py27,pypy,py32,py33,docs,pep8,py3pep8

[testenv]
deps =
    coverage
    iso8601
    pretend
    pytest
commands =
    coverage run --source=cryptography/,tests/ -m pytest --capture=no --strict {posargs}
    coverage report -m

[testenv:docs]
deps =
    pyenchant
    sphinx
    sphinxcontrib-spelling
    sphinx_rtd_theme
basepython = python2.7
commands =
    sphinx-build -W -b html -d {envtmpdir}/doctrees docs docs/_build/html
    sphinx-build -W -b latex -d {envtmpdir}/doctrees docs docs/_build/latex
    sphinx-build -W -b doctest -d {envtmpdir}/doctrees docs docs/_build/html
    sphinx-build -W -b linkcheck docs docs/_build/html
    sphinx-build -W -b spelling docs docs/_build/html

# Temporarily disable coverage on pypy because of performance problems with
# coverage.py on pypy.
[testenv:pypy]
commands = py.test --capture=no --strict {posargs}

[testenv:pep8]
deps = flake8
commands = flake8 .

[testenv:py3pep8]
basepython = python3.3
deps = flake8
commands = flake8 .

[flake8]
exclude = .tox,*.egg
select = E,W,F

Select all errors, warnings, and flakes.
Select all errors, warnings, and flakes.

This makes sure we're taken care of incase more stuff ever gets added
to the default ignores for flake8.
