motor/tox.ini
2022-02-16 14:25:52 -06:00

127 lines
3.2 KiB
INI

# Tox (https://tox.readthedocs.io) is a tool for running tests in multiple
# virtualenvs. "pip install tox>3.18" and run "tox" from this directory.
# Adapted from Tornado's tox.ini.
[tox]
envlist =
# Tornado 5 supports Python 2.7.9+ and 3.4+.
tornado5-{pypy35,pypy36,py35,py36,py37},
# Tornado 6 supports Python 3.5+.
tornado6-{pypy35,pypy36,py35,py36,py37,py38,py39,py310},
# Test Tornado's dev version in a few configurations.
tornado_git-{py37,py38},
# Ensure the sphinx build has no errors or warnings.
py3-sphinx-docs,
# Run the doctests, include examples and tutorial, via Sphinx.
py3-sphinx-doctest,
# asyncio without Tornado.
asyncio-{pypy35,pypy36,py35,py36,py37,py38,py39,py310},
# Test with the latest PyMongo.
py3-pymongo-latest,
# Apply PyMongo's test suite to Motor via Synchro.
synchro37
# Run pre-commit on all files.
lint
# Check the sdist integrity.
manifest
[testenv]
passenv =
DB_IP
DB_PORT
DB_USER
DB_PASSWORD
CERT_DIR
ASYNC_TEST_TIMEOUT
basepython =
py35: {env:PYTHON_BINARY:python3.5}
py36: {env:PYTHON_BINARY:python3.6}
py37,synchro37: {env:PYTHON_BINARY:python3.7}
py38: {env:PYTHON_BINARY:python3.8}
py39: {env:PYTHON_BINARY:python3.9}
py310: {env:PYTHON_BINARY:python3.10}
pypy35: {env:PYTHON_BINARY:pypy3}
pypy36: {env:PYTHON_BINARY:pypy3}
# Default Python 3 when we don't care about minor version.
py3,lint,manifest: {env:PYTHON_BINARY:python3}
deps =
tornado5: tornado>=5,<6
tornado6: tornado>=6,<7
tornado_git: git+https://github.com/tornadoweb/tornado.git
{py35,py36,py37,py38,py39,py310}: aiohttp
sphinx: sphinx
sphinx: aiohttp
sphinx: git+https://github.com/tornadoweb/tornado.git
py3-pymongo-latest: tornado>=5,<6
synchro37: tornado>=6,<7
synchro37: nose
commands =
python --version
python setup.py test --xunit-output=xunit-results {posargs}
extras =
encryption
[testenv:py3-sphinx-docs]
changedir = doc
commands =
sphinx-build -q -E -W -b html . {envtmpdir}/html {posargs}
[testenv:py3-sphinx-doctest]
setenv = PYTHONHASHSEED=0
changedir = doc
commands =
sphinx-build -q -E -b doctest . {envtmpdir}/doctest {posargs}
[testenv:py3-pymongo-latest]
commands =
pip install git+https://github.com/mongodb/mongo-python-driver.git@master#egg=pymongo[encryption]
python --version
python -c "import pymongo; print('PyMongo %s' % (pymongo.version,))"
python setup.py test --xunit-output=xunit-results {posargs}
[testenv:synchro37]
allowlist_externals =
git
setenv =
PYTHONPATH = {envtmpdir}/mongo-python-driver
commands =
git clone --depth 1 --branch master https://github.com/mongodb/mongo-python-driver.git {envtmpdir}/mongo-python-driver
python3 -m synchro.synchrotest --with-xunit --xunit-file=xunit-synchro-results -v -w {envtmpdir}/mongo-python-driver {posargs}
[testenv:lint]
deps =
pre-commit
commands =
pre-commit run --all-files
[testenv:manifest]
deps =
check-manifest
commands =
check-manifest -v
[gh-actions]
# Map GitHub Actions python-version to environment using tox-github-actions.
python =
3.6: py36
3.10: py310,manifest