[tox]
envlist=
    flake8,
    check_rst,
    py27-django17,
    py27-django18,
    py27-django19,
    py34-django17,
    py34-django18,
    py34-django19,
    py35-django18,
    py35-django19,

[flake8]
max-line-length=100
exclude=migrations

[base]
deps =
    -r{toxinidir}/requirements-dev.txt

[post_cmd]
commands=
    find {toxworkdir} -name '*.pyc' -delete
    mkdir -p {toxinidir}/tox_logs/
    bash -c "mv  {toxworkdir}/{envname}/log/* {toxinidir}/tox_logs/"
whitelist_externals=
    find
    bash
    mkdir

[testenv]
commands=
    py.test -rw {posargs:cas_server/tests/}
    {[post_cmd]commands}
whitelist_externals={[post_cmd]whitelist_externals}

[testenv:py27-django17]
basepython=python2.7
deps =
    Django>=1.7,<1.8
    {[base]deps}

[testenv:py27-django18]
basepython=python2.7
deps =
    Django>=1.8,<1.9
    {[base]deps}

[testenv:py27-django19]
basepython=python2.7
deps =
    Django>=1.9,<1.10
    {[base]deps}

[testenv:py34-django17]
basepython=python3.4
deps =
    Django>=1.7,<1.8
    {[base]deps}

[testenv:py34-django18]
basepython=python3.4
deps =
    Django>=1.8,<1.9
    {[base]deps}

[testenv:py34-django19]
basepython=python3.4
deps =
    Django>=1.9,<1.10
    {[base]deps}

[testenv:py35-django18]
basepython=python3.5
deps =
    Django>=1.8,<1.9
    {[base]deps}

[testenv:py35-django19]
basepython=python3.5
deps =
    Django>=1.9,<1.10
    {[base]deps}


[testenv:flake8]
basepython=python
deps=flake8
skip_install=True
commands=
    flake8 {toxinidir}/cas_server
    {[post_cmd]commands}
whitelist_externals={[post_cmd]whitelist_externals}

[testenv:check_rst]
basepython=python
deps=
    docutils
    Pygments
skip_install=True
commands=
    rst2html.py --strict {toxinidir}/README.rst /dev/null
    {[post_cmd]commands}
whitelist_externals={[post_cmd]whitelist_externals}

[testenv:coverage]
basepython=python
passenv=CODACY_PROJECT_TOKEN
deps=
    -r{toxinidir}/requirements.txt
    -r{toxinidir}/requirements-dev.txt
    codacy-coverage
skip_install=True
commands=
    py.test --cov=cas_server --cov-report xml
    python-codacy-coverage -r {toxinidir}/coverage.xml
    {[post_cmd]commands}
whitelist_externals={[post_cmd]whitelist_externals}