# 'Tox' is a tool for automating sdist/build/test cycles against
# multiple Python versions:
#   https://pypi.python.org/pypi/tox
#   https://tox.readthedocs.io/

# Running the command 'tox' while in the root of the numpy source
# directory will:
#   - Create a numpy source distribution (setup.py sdist)
#   - Then for every supported version of Python:
#     - Create a virtualenv in .tox/py$VERSION and install
#       dependencies. (These virtualenvs are cached across runs unless
#       you use --recreate.)
#     - Use pip to install the numpy sdist into the virtualenv
#     - Run the numpy tests
# To run against a specific subset of Python versions, use:
#   tox -e py37

# Extra arguments will be passed to runtests.py. To run
# the full testsuite:
#   tox full
# To run with extra verbosity:
#   tox -- -v

# Tox assumes that you have appropriate Python interpreters already
# installed and that they can be run as (e.g.) 'python3.8'

[tox]
envlist =
  py36,py37,py38,
  py37-not-relaxed-strides

[testenv]
deps= -Ur{toxinidir}/test_requirements.txt
changedir={envdir}
commands={envpython} -b {toxinidir}/runtests.py --mode=full {posargs:}

[testenv:py37-not-relaxed-strides]
basepython=python3.7
env=NPY_RELAXED_STRIDES_CHECKING=0

# Not run by default. Set up the way you want then use 'tox -e debug'
# if you want it:
[testenv:debug]
basepython=python-dbg
commands=gdb --args {envpython} {toxinidir}/runtests.py --mode=full {posargs:}
