158 lines
4.2 KiB
INI
158 lines
4.2 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]
|
|
min_version = 4
|
|
toxworkdir = {env:TMPDIR:/tmp}/tox-{env:USER}/hobo/{env:BRANCH_NAME:}
|
|
envlist =
|
|
py3-django32-{hobo,authentic,multipublik,multitenant,schemas,passerelle}
|
|
code-style
|
|
pylint
|
|
|
|
[testenv]
|
|
usedevelop = True
|
|
parallel_show_output = True
|
|
setenv =
|
|
# necessary to separate coverage binary output between parallel environments
|
|
COVERAGE_FILE=.coverage.{envname}
|
|
DISABLE_GLOBAL_HANDLERS=1
|
|
BRANCH_NAME={env:BRANCH_NAME:}
|
|
DB_ENGINE=django.db.backends.postgresql_psycopg2
|
|
SETUPTOOLS_USE_DISTUTILS=stdlib
|
|
JUNIT=--junitxml=junit-{envname}.xml
|
|
COVERAGE=--cov=hobo/ --cov-config .coveragerc --cov-report= --cov-branch
|
|
|
|
hobo: DJANGO_SETTINGS_MODULE=hobo.settings
|
|
hobo: HOBO_SETTINGS_FILE=tests/settings.py
|
|
schemas: DJANGO_SETTINGS_MODULE=hobo.settings
|
|
schemas: HOBO_SETTINGS_FILE=tests_schemas/settings.py
|
|
multitenant: PYTHONPATH=tests_multitenant
|
|
multitenant: DJANGO_SETTINGS_MODULE=settings
|
|
multipublik: PYTHONPATH=tests_multipublik
|
|
multipublik: DJANGO_SETTINGS_MODULE=settings
|
|
authentic: DEBIAN_CONFIG_COMMON=debian/debian_config_common.py
|
|
authentic: DJANGO_SETTINGS_MODULE=authentic2.settings
|
|
authentic: AUTHENTIC2_SETTINGS_FILE=tests_authentic/settings.py
|
|
passerelle: DEBIAN_CONFIG_COMMON=debian/debian_config_common.py
|
|
passerelle: PASSERELLE_SETTINGS_FILE=tests_passerelle/settings.py
|
|
passerelle: DJANGO_SETTINGS_MODULE=passerelle.settings
|
|
# test directories
|
|
hobo: TEST_DIRECTORY=tests/
|
|
schemas: TEST_DIRECTORY=tests_schemas/
|
|
multitenant: TEST_DIRECTORY=tests_multitenant/
|
|
multipublik: TEST_DIRECTORY=tests_multipublik/
|
|
authentic: TEST_DIRECTORY=tests_authentic/
|
|
passerelle: TEST_DIRECTORY=tests_passerelle/
|
|
deps:
|
|
django32: django>=3.2,<3.3
|
|
pytest!=6.0.0
|
|
pytest-cov
|
|
pytest-django
|
|
pytest-mock
|
|
pyquery
|
|
coverage
|
|
cssselect
|
|
WebTest
|
|
pyquery
|
|
django-mellon
|
|
django-webtest
|
|
Markdown<3
|
|
authentic: https://git.entrouvert.org/entrouvert/authentic/archive/main.tar.gz
|
|
passerelle: https://git.entrouvert.org/entrouvert/passerelle/archive/main.tar.gz
|
|
passerelle: python-memcached
|
|
multitenant: systemd-python
|
|
https://git.entrouvert.org/entrouvert/debian-django-tenant-schemas/archive/main.tar.gz
|
|
mock<4
|
|
httmock
|
|
requests
|
|
responses
|
|
pytest-freezegun
|
|
xmlschema<1.1
|
|
enum34<=1.1.6
|
|
psycopg2
|
|
psycopg2-binary
|
|
sorl-thumbnail
|
|
djangorestframework>=3.12,<3.13 # matching debian bullseye
|
|
Pillow
|
|
black: pre-commit
|
|
git+https://git.entrouvert.org/publik-django-templatetags.git
|
|
allowlist_externals =
|
|
./getlasso3.sh
|
|
commands =
|
|
./getlasso3.sh
|
|
py.test {posargs:{tty::{env:JUNIT:}} {tty::{env:COVERAGE:}} {env:TEST_DIRECTORY:}}
|
|
|
|
[testenv:code-style]
|
|
basepython = python3
|
|
skip_install = true
|
|
deps =
|
|
pre-commit
|
|
commands =
|
|
pre-commit run --all-files --show-diff-on-failure
|
|
|
|
[testenv:update-locales]
|
|
setenv =
|
|
DJANGO_SETTINGS_MODULE=hobo.settings
|
|
allowlist_externals =
|
|
./getlasso3.sh
|
|
commands =
|
|
./getlasso3.sh
|
|
./manage.py makemessages --add-location=file
|
|
./manage.py compilemessages
|
|
|
|
[testenv:coverage-report]
|
|
setenv =
|
|
deps =
|
|
coverage
|
|
commands =
|
|
python3 -m coverage erase --data-file=.coverage
|
|
python3 -m coverage combine
|
|
python3 -m coverage html -d htmlcov --show-contexts
|
|
python3 -m coverage xml
|
|
|
|
[testenv:pylint]
|
|
setenv =
|
|
TOX_WORK_DIR={toxworkdir}
|
|
SETUPTOOLS_USE_DISTUTILS=stdlib
|
|
DB_ENGINE=django.db.backends.postgresql_psycopg2
|
|
NUMPROCESSES={env:NUMPROCESSES:1}
|
|
deps =
|
|
pylint<3
|
|
astroid<3
|
|
pylint-django
|
|
django>=3.2,<3.3
|
|
pyquery
|
|
pytest!=6.0.0
|
|
pytest-cov
|
|
pytest-django
|
|
pytest-mock
|
|
pyquery
|
|
coverage
|
|
cssselect
|
|
WebTest
|
|
pyquery
|
|
django-mellon
|
|
django-webtest
|
|
Markdown<3
|
|
https://git.entrouvert.org/entrouvert/debian-django-tenant-schemas/archive/main.tar.gz
|
|
mock<4
|
|
httmock
|
|
requests
|
|
responses
|
|
pytest-freezegun
|
|
xmlschema<1.1
|
|
enum34<=1.1.6
|
|
psycopg2
|
|
psycopg2-binary
|
|
sorl-thumbnail
|
|
Pillow
|
|
uwsgidecorators
|
|
https://git.entrouvert.org/entrouvert/authentic/archive/main.tar.gz
|
|
allowlist_externals =
|
|
./getlasso3.sh
|
|
./pylint.sh
|
|
commands =
|
|
./getlasso3.sh
|
|
./pylint.sh hobo tests tests_authentic tests_multipublik tests_multitenant tests_passerelle tests_schemas
|