# Tox (https://tox.readthedocs.io/) 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] envlist = security,flake8,py3 minversion = 1.7.0 [testenv] deps = -ctests/constraints.txt -rtests/requirements-py3.txt # Extras botocore>=1.3.23 Pillow>=3.4.2 passenv = S3_TEST_FILE_URI AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY GCS_TEST_FILE_URI GCS_PROJECT_ID commands = py.test --cov=scrapy --cov-report= {posargs:--durations=10 docs scrapy tests} [testenv:security] basepython = python3 deps = bandit commands = bandit -r -c .bandit.yml {posargs:scrapy} [testenv:flake8] basepython = python3 deps = {[testenv]deps} pytest-flake8 commands = py.test --flake8 {posargs:docs scrapy tests} [testenv:pypy3] basepython = pypy3 commands = py.test {posargs:--durations=10 docs scrapy tests} [testenv:pinned] basepython = python3 deps = -ctests/constraints.txt cryptography==2.0 cssselect==0.9.1 lxml==3.5.0 parsel==1.5.0 Protego==0.1.15 PyDispatcher==2.0.5 pyOpenSSL==16.2.0 queuelib==1.4.2 service_identity==16.0.0 six==1.10.0 Twisted==17.9.0 w3lib==1.17.0 zope.interface==4.1.3 -rtests/requirements-py3.txt # Extras botocore==1.3.23 Pillow==3.4.2 [testenv:extra-deps] deps = {[testenv]deps} reppy robotexclusionrulesparser [docs] changedir = docs deps = -rdocs/requirements.txt [testenv:docs] basepython = python3 changedir = {[docs]changedir} deps = {[docs]deps} commands = sphinx-build -W -b html . {envtmpdir}/html [testenv:docs-coverage] basepython = python3 changedir = {[docs]changedir} deps = {[docs]deps} commands = sphinx-build -b coverage . {envtmpdir}/coverage [testenv:docs-links] basepython = python3 changedir = {[docs]changedir} deps = {[docs]deps} commands = sphinx-build -W -b linkcheck . {envtmpdir}/linkcheck [asyncio] commands = {[testenv]commands} --reactor=asyncio [testenv:py35-asyncio] basepython = python3.5 deps = {[testenv]deps} commands = {[asyncio]commands} [testenv:py38-asyncio] basepython = python3.8 deps = {[testenv]deps} commands = {[asyncio]commands}