File: tox.ini

package info (click to toggle)
hdmf 3.14.5-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 19,372 kB
  • sloc: python: 34,738; makefile: 303; sh: 35
file content (58 lines) | stat: -rw-r--r-- 2,481 bytes parent folder | download | duplicates (2)
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
# 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 -e [envname]" from this directory.

[tox]
requires = pip >= 22.0

[testenv]
download = True
setenv =
    PYTHONDONTWRITEBYTECODE = 1
    VIRTUALENV_PIP = 23.3.1
recreate =
    pinned, minimum, upgraded, prerelease: False
    build, wheelinstall: True  # good practice to recreate the environment
skip_install =
    pinned, minimum, upgraded, prerelease, wheelinstall: False
    build: True  # no need to install anything when building
install_command =
    # when using [testenv:wheelinstall] and --installpkg, the wheel and its dependencies
    # are installed, instead of the package in the current directory
    pinned, minimum, wheelinstall: python -I -m pip install {opts} {packages}
    upgraded:                      python -I -m pip install -U {opts} {packages}
    prerelease:                    python -I -m pip install -U --pre {opts} {packages}
deps =
    # use pinned, minimum, or neither (use dependencies in pyproject.toml)
    pytest, gallery: -rrequirements-dev.txt
    gallery:         -rrequirements-doc.txt
    optional:        -rrequirements-opt.txt
    pinned:          -rrequirements.txt
    minimum:         -rrequirements-min.txt
commands =
    python --version     # print python version for debugging
    python -m pip check  # check for conflicting packages
    python -m pip list   # list installed packages for debugging
    pytest:       pytest -v
    gallery:      python test_gallery.py
    build:        python -m pip install -U build
    build:        python -m build
    wheelinstall: python -c "import hdmf; import hdmf.common"

# list of pre-defined environments. (Technically environments not listed here
# like build-py312 can also be used.)
[testenv:pytest-py312-upgraded]
[testenv:pytest-py312-prerelease]
[testenv:pytest-py311-optional-pinned]  # some optional reqs not compatible with py312 yet
[testenv:pytest-py{38,39,310,311,312}-pinned]
[testenv:pytest-py38-minimum]

[testenv:gallery-py312-upgraded]
[testenv:gallery-py312-prerelease]
[testenv:gallery-py311-optional-pinned]
[testenv:gallery-py{38,39,310,311,312}-pinned]
[testenv:gallery-py38-minimum]

[testenv:build]  # using tox for this so that we can have a clean build environment
[testenv:wheelinstall]  # use with `--installpkg dist/*-none-any.whl`