[tox]
envlist = {py37,py38,py39,py310,py311}-{flakes,unit,cmd_examples,build_examples,all}-{default}-{dev,pkg}
build = wheel

[gh-actions]
python =
    3.7: py37
    3.8: py38
    3.9: py39
    3.10: py310
    3.11: py311

[_flakes]
commands = flake8
deps = .[tests]

[_cmd_examples]
commands = pytest pyct
           {envpython} -c "import pyct; pyct.report('pyct','python','system')"
deps = .[tests,cmd]

[_build_examples]
# TODO: not much of a test yet...
commands = {envpython} -c "from pyct.build import examples, get_setup_version"
deps = .[tests]

[_all]
commands = {[_flakes]commands}
           {[_unit]commands}
           {[_cmd_examples]commands}
           {[_build_examples]commands}
deps = .[examples,tests,cmd]

[_unit]
description = Run unit tests
deps = .[tests,cmd]
commands = pytest pyct
           pyct --help
           pyct --version
           pyct report --help           
           pyct report pyct python
           {envpython} -m pyct --version

[testenv]
usedevelop = true
changedir = {envtmpdir}

commands = unit: {[_unit]commands}
           cmd_examples: {[_cmd_examples]commands}
           build_examples: {[_build_examples]commands}
           flakes: {[_flakes]commands}
           all: {[_all]commands}

deps = unit: {[_unit]deps}
       cmd_examples: {[_cmd_examples]deps}
       build_examples: {[_build_examples]deps}
       flakes: {[_flakes]deps}
       all: {[_all]deps}

[pytest]
addopts = -v --pyargs
norecursedirs = doc .git dist build _build .ipynb_checkpoints apps

[flake8]
ignore = E,W
include = *.py
exclude = .git,__pycache__,.tox,.eggs,*.egg,doc,dist,build,_build,.ipynb_checkpoints,run_test.py,.venv
