[tox]
minversion=2.3.1
envlist=py27,py36,pylint2,pylint3,pypi
skip_missing_interpreters=true
skipsdist=true

[testenv]
# always re-create virtual env. A special install helper is used to configure,
# build and install packages.
recreate=True
install_command={toxinidir}/.tox-install.sh wheel_bundle {envpython} {envsitepackagesdir} {packages}
changedir={envdir}
setenv=
    HOME={envtmpdir}
deps=
    ipaclient[csrgen]
    ipatests
commands=
    {envbindir}/ipa --help
    {envpython} -bb {envbindir}/ipa-run-tests --ipaclient-unittests --junitxml={envdir}/junit-{envname}.xml

[testenv:pylint2]
basepython=python2.7
deps=
    ipaclient[csrgen,otptoken_yubikey]
    pylint
commands=
    {envpython} -m pylint \
        --rcfile={toxinidir}/pylintrc \
        --load-plugins pylint_plugins \
        {envsitepackagesdir}/ipaclient \
        {envsitepackagesdir}/ipalib \
        {envsitepackagesdir}/ipapython

[testenv:pylint3]
basepython=python3
deps={[testenv:pylint2]deps}
commands={[testenv:pylint2]commands}

[testenv:pypi]
recreate=True
install_command={toxinidir}/.tox-install.sh pypi_packages {envpython} {envsitepackagesdir} {packages}
changedir={envdir}
setenv=
    HOME={envtmpdir}
deps=
    pytest
    ipaclient
    # placeholder
    ipaplatform
    ipaserver
    ipatests
commands=
    {envpython} -m pytest {toxinidir}/pypi/test_placeholder.py

[pycodestyle]
# E402 module level import not at top of file
ignore = E402

