# ==================================================================================
#       Copyright (c) 2020 AT&T Intellectual Property.
#
#   Licensed under the Apache License, Version 2.0 (the "License");
#   you may not use this file except in compliance with the License.
#   You may obtain a copy of the License at
#
#          http://www.apache.org/licenses/LICENSE-2.0
#
#   Unless required by applicable law or agreed to in writing, software
#   distributed under the License is distributed on an "AS IS" BASIS,
#   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
#   See the License for the specific language governing permissions and
#   limitations under the License.
# ==================================================================================
[tox]
envlist = code,flake8,docs,docs-linkcheck
minversion = 2.0

[testenv:code]
basepython = python3.8
deps=
    pytest
    coverage
    pytest-cov
setenv =
    LD_LIBRARY_PATH = /usr/local/lib/:/usr/local/lib64
    RMR_SEED_RT = tests/fixtures/test_local.rt
    RMR_ASYNC_CONN = 0
    USE_FAKE_SDL = 1

commands =
    pytest -v --cov ad --cov-report xml --cov-report term-missing --cov-report html --cov-fail-under=70
    coverage xml -i

[testenv:flake8]
basepython = python3.8
skip_install = true
deps = flake8
commands = flake8 setup.py ad tests

[flake8]
extend-ignore = E501,E741,E731

[testenv:clm]
# use pip to gather dependencies with versions for CLM analysis
whitelist_externals = sh
commands = sh -c 'pip freeze > requirements.txt'

# doc jobs
[testenv:docs]
whitelist_externals = echo
skipsdist = true
basepython = python3.8
deps =
    sphinx
    sphinx-rtd-theme
    sphinxcontrib-httpdomain
    recommonmark
    lfdocs-conf
commands =
    sphinx-build -W -b html -n -d {envtmpdir}/doctrees ./docs/ {toxinidir}/docs/_build/html
    echo "Generated docs available in {toxinidir}/docs/_build/html"

[testenv:docs-linkcheck]
skipsdist = true
basepython = python3.8
deps = sphinx
       sphinx-rtd-theme
       sphinxcontrib-httpdomain
       recommonmark
       lfdocs-conf
commands = sphinx-build -W -b linkcheck -d {envtmpdir}/doctrees ./docs/ {toxinidir}/docs/_build/linkcheck
