#   Copyright (c) 2020 HCL Technologies Limited.
#
#   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
deps=
    pytest
    coverage
    pytest-cov

setenv =
    LD_LIBRARY_PATH = /usr/local/lib/:/usr/local/lib64
    PYTHONPATH = {toxinidir}:src:/usr/lib/python3.7/site-packages/
    RMR_SEED_RT = tests/fixtures/test_local.rt
    RMR_ASYNC_CONN = 0
    USE_FAKE_SDL = 1

commands =
    pytest -v --cov src --cov-report xml --cov-report term-missing --cov-report html --cov-fail-under=50
    coverage xml -i

[testenv:flake8]
basepython = python3
skip_install = true
deps = flake8
setenv =
    PYTHONPATH = {toxinidir}:src:/usr/lib/python3.7/site-packages/
commands = flake8 setup.py src 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

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
deps = sphinx
       sphinx-rtd-theme
       sphinxcontrib-httpdomain
       recommonmark
       lfdocs-conf
commands = sphinx-build -W -b linkcheck -d {envtmpdir}/doctrees ./docs/ {toxinidir}/docs/_build/linkcheck
