hobo/tox.ini

117 lines
3.5 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-django22-{hobo,authentic,multipublik,multitenant,schemas,passerelle}
py3-django32-{hobo,authentic,multipublik,multitenant,schemas,passerelle}
code-style
[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:
django22: django>=2.2,<2.3
django22: psycopg2-binary<2.9
django22: psycopg2<2.9
django32: django>=3.2,<3.3
django32: psycopg2-binary
django32: psycopg
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/authentic.git/snapshot/authentic-main.tar.gz
passerelle: https://git.entrouvert.org/passerelle.git/snapshot/passerelle-main.tar.gz
passerelle: python-memcached
multitenant: systemd-python
https://git.entrouvert.org/debian/django-tenant-schemas.git/snapshot/django-tenant-schemas-main.tar.gz
mock<4
httmock
requests
responses
pytest-freezegun
xmlschema<1.1
enum34<=1.1.6
psycopg2<2.9
psycopg2-binary<2.9
sorl-thumbnail
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