# tox (https://tox.readthedocs.io/) 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 =
    py36
    py37
    docs
    style
skip_missing_interpreters = True

[testenv]
description = Run unit tests with pytest
whitelist_externals =
    pytest
extras = voice, test, mongo
deps =
    -r{toxinidir}/dependency_links.txt
commands =
    python -m compileall ./redbot/cogs
    pytest

[testenv:docs]
description = Attempt to build docs with sphinx-build
whitelist_externals =
    sphinx-build
basepython = python3.6
extras = docs, mongo
commands =
    sphinx-build -d "{toxworkdir}/docs_doctree" docs "{toxworkdir}/docs_out/html" -W -bhtml
    sphinx-build -d "{toxworkdir}/docs_doctree" docs "{toxworkdir}/docs_out/linkcheck" -W -blinkcheck
    sphinx-build -d "{toxworkdir}/docs_doctree" docs "{toxworkdir}/docs_out/doctest" -W -bdoctest

[testenv:style]
description = Stylecheck the code with black to see if anything needs changes.
whitelist_externals =
    make
setenv =
    # This is just for Windows
    # Prioritise make.bat over any make.exe which might be on PATH
    PATHEXT=.BAT;.EXE
basepython = python3.6
extras = style
commands =
    make stylecheck
