authentic/tox.ini

125 lines
2.7 KiB
INI

# Tox (http://tox.testrun.org/) is a tool for running tests
# in multiple virtualenvs. This configuration file will run the
# test suite on all supported python versions. To use it, "pip install tox"
# and then run "tox" from this directory.
[tox]
toxworkdir = {env:TMPDIR:/tmp}/tox-{env:USER}/authentic/
envlist =
authentic-py3-dj111-drf39
[tox:jenkins]
envlist =
pylint
rbac-py3-dj111
rbac-py3-dj22
authentic-py3-dj111-drf34
authentic-py3-dj111-drf39
authentic-py3-dj22-drf39
[testenv]
setenv =
authentic: AUTHENTIC2_SETTINGS_FILE=tests/settings.py
authentic: DJANGO_SETTINGS_MODULE=authentic2.settings
rbac: DJANGO_SETTINGS_MODULE=django_rbac.test_settings
authentic: TESTS=tests/
authentic-oldldap: TESTS=tests/test_ldap.py
rbac: TESTS=tests_rbac/
DB_ENGINE=django.db.backends.postgresql_psycopg2
SETUPTOOLS_USE_DISTUTILS=stdlib
JUNIT={tty::-o junit_suite_name={envname} --junit-xml=junit-{envname}.xml}
COVERAGE={tty::--cov --cov-append --cov-report xml --cov-report html --cov-config=tox.ini}
fast: FAST=--nomigrations
reusedb: REUSEDB=--reuse-db
!nosw: SW={tty:--sw:}
slow: PYTESTOPTIONS={env:PYTESTOPTIONS:} --slow
passenv=
BRANCH_NAME
# support for pg_virtualenv
PGPORT
PGHOST
PGUSER
PGPASSWORD
PYTESTOPTIONS
deps =
pip > 9
dj111: django<2.0
dj22: django<2.3
django-tables<2.0
psycopg2-binary
coverage
pytest-cov
pytest-django
pytest-random
mock<4
pytest!=5.3.3
lxml
cssselect
django-webtest
Markdown<3
WebTest
pyquery
httmock
pytz
pytest-freezegun
faker
enum34<=1.1.6
ldaptools>=0.15
oldldap: python-ldap<3
py2: django-appconf<1.0.4
py2: django-filter<2
py3: django-filter<2.3
drf34: djangorestframework>=3.4,<3.4.1
drf39: djangorestframework>=3.9.2,<3.10
usedevelop = True
commands =
py2: ./getlasso.sh
py3: ./getlasso3.sh
authentic: ./check-migrations.sh
rbac,authentic: py.test {env:PYTESTOPTIONS:} {env:FAST:} {env:REUSEDB:} {env:COVERAGE:} {env:JUNIT:} {env:SW:} {posargs:{env:TESTS} --random-group}
[testenv:pylint]
basepython = python2.7
deps =
pylint<1.8
pylint-django<0.8.1
commands =
/bin/bash -c "./pylint.sh src/*/"
[testenv:manage]
usedevelop = True
setenv =
DJANGO_SETTINGS_MODULE=authentic2.settings
AUTHENTIC2_SETTINGS_FILE=local_settings.py
deps =
psycopg2-binary
django-debug-toolbar
ipython
ipdb
commands =
./getlasso3.sh
./authentic2-ctl {posargs:--help}
[pytest]
filterwarnings =
ignore
once:::authentic2.*
junit_family=xunit2
[coverage:run]
source =
authentic2
authentic2_auth_fc
authentic2_auth_oidc
authentic2_auth_saml
authentic2_idp_cas
authentic2_idp_oidc
authentic2_provisionning_ldap
django_rbac
branch = True