oemof/oemof-solph

View on GitHub
tox.ini

Summary

Maintainability
Test Coverage
[tox]
envlist =
    clean,
    check,
    docs,
    py39,
    py310,
    py311,
    py3-nocov,
    report

[gh-actions]
python =
    3.9: py39
    3.10: py310
    3.11: py311

[testenv]
basepython =
    docs: {env:TOXPYTHON:python3}
    {bootstrap,clean,check,report,codecov,coveralls}: {env:TOXPYTHON:python3}
setenv =
    PYTHONPATH={toxinidir}/tests
    PYTHONUNBUFFERED=yes
passenv =
    *
deps =
    py
    pytest
commands =
    {posargs:pytest -vv --ignore=src}

ignore_basepython_conflict = True

[testenv:bootstrap]
deps =
    jinja2
    matrix
skip_install = true
commands =
    python ci/bootstrap.py --no-env

[testenv:check]
deps =
    docutils
    check-manifest
    flake8
    twine
    pygments
    isort
skip_install = true
commands =
    python -m build .
    twine check dist/oemof*
    check-manifest {toxinidir}
    flake8 src tests
    isort --check-only --profile black --diff src tests


[testenv:docs]
usedevelop = true
deps =
    -r{toxinidir}/docs/requirements.txt
commands =
    sphinx-build {posargs:-E} -W -b html docs dist/docs
    sphinx-build -b linkcheck docs dist/docs

[testenv:coveralls]
deps =
    coveralls
skip_install = true
commands =
    coveralls []

[testenv:codecov]
deps =
    codecov
skip_install = true
commands =
    codecov []

[testenv:report]
deps = coverage
skip_install = true
commands =
    coverage report
    coverage html

[testenv:clean]
commands = coverage erase
skip_install = true
deps = coverage

[testenv:py310]
basepython = {env:TOXPYTHON:python3.10}
setenv =
    {[testenv]setenv}
usedevelop = true
commands =
    {posargs:pytest --cov --cov-report=term-missing -vv}
deps =
    {[testenv]deps}
    pytest-cov

[testenv:py311]
basepython = {env:TOXPYTHON:python3.11}
setenv =
    {[testenv]setenv}
usedevelop = true
commands =
    {posargs:pytest --cov --cov-report=term-missing -vv}
deps =
    {[testenv]deps}
    pytest-cov


[testenv:py39]
basepython = {env:TOXPYTHON:python3.9}
setenv =
    {[testenv]setenv}
usedevelop = true
commands =
    {posargs:pytest --cov --cov-report=term-missing -vv}
deps =
    {[testenv]deps}
    pytest-cov

[testenv:py38]
basepython = {env:TOXPYTHON:python3.8}
setenv =
    {[testenv]setenv}
usedevelop = true
commands =
    {posargs:pytest --cov --cov-report=term-missing -vv}
deps =
    {[testenv]deps}
    pytest-cov

[testenv:py3-nocov]
basepython = {env:TOXPYTHON:python3}