1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177
|
# 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, py312
requires = pip >= 22.0
[testenv]
download = True
setenv =
PYTHONDONTWRITEBYTECODE = 1
VIRTUALENV_PIP = 23.3.1
install_command =
python -m pip install -U {opts} {packages}
deps =
-rrequirements-dev.txt
-rrequirements.txt
commands =
python -m pip check # Check for conflicting packages
python -m pip list
python test.py -v
# Test with python 3.12; pinned dev reqs; upgraded run reqs
[testenv:py312-upgraded]
basepython = python3.12
install_command =
python -m pip install -U {opts} {packages}
deps =
-rrequirements-dev.txt
commands = {[testenv]commands}
# Test with python 3.11; optional and dev reqs (some features are not compatible with 3.12 yet)
[testenv:py311-optional]
basepython = python3.11
deps =
-rrequirements-dev.txt
-rrequirements-opt.txt
commands = {[testenv]commands}
# Test with python 3.12; pinned dev reqs; upgraded, pre-release run reqs
[testenv:py312-prerelease]
basepython = python3.12
install_command =
python -m pip install -U --pre {opts} {packages}
deps =
-rrequirements-dev.txt
commands = {[testenv]commands}
# Test with python 3.8; pinned dev reqs; minimum run reqs
[testenv:py38-minimum]
basepython = python3.8
deps =
-rrequirements-dev.txt
-rrequirements-min.txt
commands = {[testenv]commands}
# Envs that builds wheels and source distribution
[testenv:build]
commands =
python -m pip install --upgrade build
python -m build
[testenv:build-py38]
basepython = python3.8
commands = {[testenv:build]commands}
[testenv:build-py39]
basepython = python3.9
commands = {[testenv:build]commands}
[testenv:build-py310]
basepython = python3.10
commands = {[testenv:build]commands}
[testenv:build-py311]
basepython = python3.11
commands = {[testenv:build]commands}
[testenv:build-py312]
basepython = python3.12
commands = {[testenv:build]commands}
[testenv:build-py312-upgraded]
basepython = python3.12
install_command =
python -m pip install -U {opts} {packages}
deps =
-rrequirements-dev.txt
commands = {[testenv:build]commands}
[testenv:build-py312-prerelease]
basepython = python3.12
install_command =
python -m pip install -U --pre {opts} {packages}
deps =
-rrequirements-dev.txt
commands = {[testenv:build]commands}
[testenv:build-py38-minimum]
basepython = python3.8
deps =
-rrequirements-dev.txt
-rrequirements-min.txt
commands = {[testenv:build]commands}
# Envs that will test installation from a wheel
[testenv:wheelinstall]
deps = null
commands = python -c "import pynwb"
# Envs that will execute gallery tests that do not require ROS3
# Test with pinned dev, doc, and run reqs
[testenv:gallery]
install_command =
python -m pip install -U {opts} {packages}
deps =
-rrequirements.txt
commands =
python -m pip install .
python -m pip install -r requirements-doc.txt # NOTE: allensdk (requirements-doc.txt) requires pynwb
python -m pip check
python -m pip list
python test.py --example
[testenv:gallery-py38]
basepython = python3.8
deps = {[testenv:gallery]deps}
commands = {[testenv:gallery]commands}
[testenv:gallery-py39]
basepython = python3.9
deps = {[testenv:gallery]deps}
commands = {[testenv:gallery]commands}
[testenv:gallery-py310]
basepython = python3.10
deps = {[testenv:gallery]deps}
commands = {[testenv:gallery]commands}
[testenv:gallery-py311]
basepython = python3.11
deps = {[testenv:gallery]deps}
commands = {[testenv:gallery]commands}
# Test with python 3.12; pinned dev, and doc reqs; upgraded run reqs
[testenv:gallery-py312-upgraded]
basepython = python3.12
deps =
-rrequirements-dev.txt
commands =
python -m pip install -U .
python -m pip install -r requirements-doc.txt # NOTE: allensdk (requirements-doc.txt) requires pynwb
python -m pip check
python -m pip list
python test.py --example
# Test with python 3.12; pinned dev, doc, and optional reqs; pre-release run reqs
[testenv:gallery-py312-prerelease]
basepython = python3.12
deps =
-rrequirements-dev.txt
commands =
python -m pip install -U --pre .
python -m pip install -r requirements-doc.txt # NOTE: allensdk (requirements-doc.txt) requires pynwb
python -m pip check
python -m pip list
python test.py --example
# Test with python 3.8; pinned dev and doc reqs; minimum run reqs
[testenv:gallery-py38-minimum]
basepython = python3.8
deps =
-rrequirements-min.txt
commands = {[testenv:gallery]commands}
|