tox.ini
# 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 =
py38
py39
py310
py311
docs
style
skip_missing_interpreters = True
[testenv]
description = Run tests and basic automatic issue checking.
allowlist_externals =
pytest
pylint
extras = test
setenv =
TOX_RED = 1
commands =
python -m compileall ./redbot/cogs
pytest
# pylint ./redbot
[testenv:postgres]
description = Run pytest with PostgreSQL backend
allowlist_externals =
pytest
extras = test, postgres
setenv =
TOX_RED = 1
RED_STORAGE_TYPE=postgres
passenv =
# Use the following env vars for connection options, or other default options described here:
# https://magicstack.github.io/asyncpg/current/index.html#asyncpg.connection.connect
PGHOST
PGPORT
PGUSER
PGPASSWORD
PGDATABASE
commands =
pytest
[testenv:docs]
description = Attempt to build docs with sphinx-build
allowlist_externals =
sphinx-build
make
setenv =
# This is just for Windows
# Prioritise make.bat over any make.exe which might be on PATH
PATHEXT=.BAT;.EXE
basepython = python3.8
extras = doc
commands =
sphinx-build -d "{toxworkdir}/docs_doctree" docs "{toxworkdir}/docs_out/html" -W --keep-going -bhtml
sphinx-build -d "{toxworkdir}/docs_doctree" docs "{toxworkdir}/docs_out/doctest" -W --keep-going -bdoctest
[testenv:style]
description = Stylecheck the code with black to see if anything needs changes.
allowlist_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.8
extras = style
commands =
make stylediff