Files
django-anymail/tox.ini
Mike Edmunds fd558e904e Mailgun: disable non-ASCII attachment filename workaround when not needed
urllib3 v1.25 fixes non-ASCII filenames in multipart form data to be
RFC 5758 compliant by default, so our earlier workaround is no longer
needed. Disable the workaround if we detect that Requests is using a
fixed version of urllib3.

Closes #157
2019-09-03 18:04:27 -07:00

96 lines
2.6 KiB
INI

[tox]
envlist =
# Factors: django-python-extras
# Test these environments first, to catch most errors early...
lint
django22-py37-all
django111-py27-all
docs
# ... then test all the other supported combinations:
django22-py{35,36,py3}-all
django21-py{35,36,37,py3}-all
django20-py{35,36,py3}-all
django111-py{34,35,36,py}-all
# ... then prereleases (if available):
djangoMaster-py{36,37}-all
# ... then partial installation (limit extras):
django22-py37-{none,amazon_ses,sparkpost}
# ... then older versions of some dependencies:
django111-py27-all-old_urllib3
django22-py37-all-old_urllib3
[testenv]
deps =
django111: django~=1.11.0
django20: django~=2.0.0
django21: django~=2.1.0
django22: django~=2.2.0
djangoMaster: https://github.com/django/django/tarball/master
old_urllib3: urllib3<1.25
# testing dependencies (duplicates setup.py tests_require, less optional extras):
mock
extras =
all,amazon_ses: amazon_ses
all,sparkpost: sparkpost
setenv =
# tell runtests.py to limit some test tags based on extras factor
none: ANYMAIL_SKIP_TESTS=amazon_ses,sparkpost
amazon_ses: ANYMAIL_ONLY_TEST=amazon_ses
sparkpost: ANYMAIL_ONLY_TEST=sparkpost
ignore_outcome =
# CI that wants to handle errors itself can set TOX_FORCE_IGNORE_OUTCOME=false
djangoMaster: {env:TOX_FORCE_IGNORE_OUTCOME:true}
args_are_paths = false
commands_pre =
python -VV
commands =
python runtests.py {posargs}
passenv =
ANYMAIL_ONLY_TEST
ANYMAIL_SKIP_TESTS
RUN_LIVE_TESTS
CONTINUOUS_INTEGRATION
AMAZON_SES_TEST_*
MAILGUN_TEST_*
MAILJET_TEST_*
MANDRILL_TEST_*
POSTMARK_TEST_*
SENDINBLUE_TEST_*
SENDGRID_TEST_*
SPARKPOST_TEST_*
[testenv:lint]
basepython = python3
skip_install = true
passenv =
CONTINUOUS_INTEGRATION
# (but not any of the live test API keys)
deps =
flake8
commands =
python --version
flake8 --version
flake8
[testenv:docs]
basepython = python3
skip_install = true
passenv =
CONTINUOUS_INTEGRATION
# (but not any of the live test API keys)
setenv =
DOCS_BUILD_DIR={envdir}/_html
whitelist_externals = /bin/bash
deps =
sphinx
sphinx-rtd-theme
commands =
# Verify README.rst as used in setup.py long_description:
python setup.py check --restructuredtext --strict
# Build and verify docs:
sphinx-build -W -b dirhtml docs {env:DOCS_BUILD_DIR}
# Build README.rst into html:
/bin/bash -c 'python setup.py --long-description \
| rst2html5.py --config=docs/_readme/docutils.cfg \
> {env:DOCS_BUILD_DIR}/readme.html'