mirror of https://github.com/scrapy/scrapy.git
154 lines
3.1 KiB
INI
154 lines
3.1 KiB
INI
# 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,py
|
|
minversion = 1.7.0
|
|
|
|
[testenv]
|
|
deps =
|
|
-ctests/constraints.txt
|
|
-rtests/requirements-py3.txt
|
|
# Extras
|
|
boto3>=1.13.0
|
|
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:typing]
|
|
basepython = python3
|
|
deps =
|
|
mypy==0.780
|
|
commands =
|
|
mypy {posargs: 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:pylint]
|
|
basepython = python3
|
|
deps =
|
|
{[testenv]deps}
|
|
# Optional dependencies
|
|
boto
|
|
reppy
|
|
robotexclusionrulesparser
|
|
# Test dependencies
|
|
pylint
|
|
commands =
|
|
pylint conftest.py docs extras scrapy setup.py tests
|
|
|
|
[pinned]
|
|
deps =
|
|
-ctests/constraints.txt
|
|
cryptography==2.0
|
|
cssselect==0.9.1
|
|
itemadapter==0.1.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
|
|
Twisted==17.9.0
|
|
w3lib==1.17.0
|
|
zope.interface==4.1.3
|
|
-rtests/requirements-py3.txt
|
|
# Extras
|
|
botocore==1.3.23
|
|
google-cloud-storage==1.29.0
|
|
Pillow==3.4.2
|
|
|
|
[testenv:pinned]
|
|
deps =
|
|
{[pinned]deps}
|
|
lxml==3.5.0
|
|
|
|
[testenv:windows-pinned]
|
|
basepython = python3
|
|
deps =
|
|
{[pinned]deps}
|
|
# First lxml version that includes a Windows wheel for Python 3.5, so we do
|
|
# not need to build lxml from sources in a CI Windows job:
|
|
lxml==3.8.0
|
|
|
|
[testenv:extra-deps]
|
|
deps =
|
|
{[testenv]deps}
|
|
reppy
|
|
robotexclusionrulesparser
|
|
|
|
[testenv:asyncio]
|
|
commands =
|
|
{[testenv]commands} --reactor=asyncio
|
|
|
|
[testenv:asyncio-pinned]
|
|
commands = {[testenv:asyncio]commands}
|
|
deps = {[testenv:pinned]deps}
|
|
|
|
[testenv:pypy3]
|
|
basepython = pypy3
|
|
commands =
|
|
py.test {posargs:--durations=10 docs scrapy tests}
|
|
|
|
[testenv:pypy3-pinned]
|
|
basepython = {[testenv:pypy3]basepython}
|
|
commands = {[testenv:pypy3]commands}
|
|
deps =
|
|
{[pinned]deps}
|
|
lxml==4.0.0
|
|
PyPyDispatcher==2.1.0
|
|
|
|
[docs]
|
|
changedir = docs
|
|
deps =
|
|
-rdocs/requirements.txt
|
|
setenv =
|
|
READTHEDOCS_PROJECT=scrapy
|
|
READTHEDOCS_VERSION=master
|
|
|
|
[testenv:docs]
|
|
basepython = python3
|
|
changedir = {[docs]changedir}
|
|
deps = {[docs]deps}
|
|
setenv = {[docs]setenv}
|
|
commands =
|
|
sphinx-build -W -b html . {envtmpdir}/html
|
|
|
|
[testenv:docs-coverage]
|
|
basepython = python3
|
|
changedir = {[docs]changedir}
|
|
deps = {[docs]deps}
|
|
setenv = {[docs]setenv}
|
|
commands =
|
|
sphinx-build -b coverage . {envtmpdir}/coverage
|
|
|
|
[testenv:docs-links]
|
|
basepython = python3
|
|
changedir = {[docs]changedir}
|
|
deps = {[docs]deps}
|
|
setenv = {[docs]setenv}
|
|
commands =
|
|
sphinx-build -W -b linkcheck . {envtmpdir}/linkcheck
|