freeipa/tox.ini
Stanislav Levin aa5a3336a8 Azure: Allow distros to install Python they want
The platforms may have different Pythons.
But due to [0] the Python installed via the 'UsePythonVersion@0'
task should be compatible with the container's 'libpythonxx.so'.
'AZURE_PYTHON_VERSION' platform variable is introduced to cover
this. So, if your distro has Python3.8, set the mentioned variable
to '3.8', later, this version will be installed by the
'UsePythonVersion@0' Azure task for 'WebUI_Unit_Tests' and 'Tox'
jobs.

To allow tox to run any Python3 environment the 'py3' one is used.
'py3' is the well-known Tox's environment, which utilizes 'python3'
executable.

[0]: https://github.com/microsoft/azure-pipelines-tasks/issues/11070

Fixes: https://pagure.io/freeipa/issue/8254
Signed-off-by: Stanislav Levin <slev@altlinux.org>
Reviewed-By: Alexander Bokovoy <abbra@users.noreply.github.com>
2020-04-07 15:22:47 -04:00

56 lines
1.4 KiB
INI

[tox]
minversion=2.3.1
envlist=py36,py37,py38,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} {envdir} {packages}
changedir={envdir}
setenv=
HOME={envtmpdir}
deps=
ipaclient[csrgen]
ipatests
commands=
{envbindir}/ipa --help
{envbindir}/ipa-run-tests --junitxml={envdir}/junit-{envname}.xml {posargs:--ipaclient-unittests}
[testenv:pylint3]
basepython=python3
deps=
ipaclient[csrgen,otptoken_yubikey,ldap]
pylint
commands=
{envpython} -m pylint \
--rcfile={toxinidir}/pylintrc \
--load-plugins pylint_plugins \
{envsitepackagesdir}/ipaclient \
{envsitepackagesdir}/ipalib \
{envsitepackagesdir}/ipapython
[testenv:pypi]
recreate=True
install_command={toxinidir}/.tox-install.sh pypi_packages {envpython} {envsitepackagesdir} {envdir} {packages}
changedir={envdir}
setenv=
HOME={envtmpdir}
deps=
pytest
ipaclient
# placeholder
ipaplatform
ipaserver
ipatests
commands=
{envpython} -m pytest {posargs:{toxinidir}/pypi/test_placeholder.py}
[pycodestyle]
# E402 module level import not at top of file
# W504 line break after binary operator
ignore = E402, W504