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

# 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 py27

# Extra arguments will be passed to test-installed-numpy.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 'python2.7', 'python3.3', etc.

[tox]
envlist =
  py26,py27,py32,py33,py34,
  py27-monolithic,py33-monolithic,py34-monolithic,
  py27-not-relaxed-strides,py33-not-relaxed-strides,py34-not-relaxed-strides

[testenv]
deps=
  nose
changedir={envdir}
commands={envpython} {toxinidir}/tools/test-installed-numpy.py --mode=full {posargs:}

[testenv:py27-monolithic]
basepython=python2.7
env=NPY_SEPARATE_COMPILATION=0

[testenv:py33-monolithic]
basepython=python3.3
env=NPY_SEPARATE_COMPILATION=0

[testenv:py34-monolithic]
basepython=python3.4
env=NPY_SEPARATE_COMPILATION=0

[testenv:py27-not-relaxed-strides]
basepython=python2.7
env=NPY_RELAXED_STRIDES_CHECKING=0

[testenv:py33-not-relaxed-strides]
basepython=python3.3
env=NPY_RELAXED_STRIDES_CHECKING=0

[testenv:py34-not-relaxed-strides]
basepython=python3.4
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}/tools/test-installed-numpy.py --mode=full {posargs:}
