mirror of https://github.com/scrapy/scrapy.git
155 lines
3.3 KiB
INI
155 lines
3.3 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 = py27-pinned,py27,py27-extra-deps,pypy2,py35-pinned,py35,py36,py37,py38,py38-extra-deps
|
|
# https://tox.wiki/en/4.11.3/faq.html#testing-end-of-life-python-versions
|
|
requires = virtualenv<20.22.0
|
|
|
|
[py27]
|
|
deps =
|
|
-rrequirements-py2.txt
|
|
# Extras
|
|
botocore>=1.3.23
|
|
google-cloud-storage
|
|
leveldb
|
|
Pillow>=3.4.2
|
|
-rtests/requirements-py2.txt
|
|
|
|
[testenv]
|
|
deps =
|
|
{[py27]deps}
|
|
# >=21.2.0 causes https://github.com/scrapy/scrapy/issues/5020
|
|
Twisted>=16.0.0,<21.2.0
|
|
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:scrapy tests}
|
|
|
|
[testenv:py27-pinned]
|
|
basepython = python2.7
|
|
deps =
|
|
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==16.0.0
|
|
w3lib==1.17.0
|
|
zope.interface==4.1.3
|
|
-rtests/requirements-py2.txt
|
|
# Extras
|
|
botocore==1.3.23
|
|
Pillow==3.4.2
|
|
|
|
[testenv:py27-extra-deps]
|
|
basepython = python2.7
|
|
deps =
|
|
{[testenv]deps}
|
|
reppy==0.3.4
|
|
robotexclusionrulesparser
|
|
|
|
[testenv:pypy2]
|
|
basepython = pypy2
|
|
commands =
|
|
py.test {posargs:scrapy tests}
|
|
deps =
|
|
{[py27]deps}
|
|
# Latest version that will not fail due to the use of the typing module.
|
|
Twisted==16.4.1
|
|
|
|
[testenv:py35]
|
|
basepython = python3.5
|
|
deps =
|
|
-rrequirements-py3.txt
|
|
-rtests/requirements-py3.txt
|
|
mock
|
|
|
|
# Extras
|
|
botocore>=1.3.23
|
|
# Pillow 10.0.0 and higher break compatibility with Scrapy 1.8.x.
|
|
Pillow<10.0.0
|
|
|
|
[testenv:py35-pinned]
|
|
basepython = python3.5
|
|
deps =
|
|
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
|
|
mock
|
|
# Extras
|
|
botocore==1.3.23
|
|
Pillow==3.4.2
|
|
|
|
[testenv:py36]
|
|
basepython = python3.6
|
|
deps = {[testenv:py35]deps}
|
|
|
|
[testenv:py37]
|
|
basepython = python3.7
|
|
deps = {[testenv:py35]deps}
|
|
|
|
[testenv:py38]
|
|
basepython = python3.8
|
|
deps = {[testenv:py35]deps}
|
|
|
|
; Will not work due to "requires = virtualenv<20.22.0" above, which is required
|
|
; for py2.7 to work.
|
|
; [testenv:pypy3]
|
|
; basepython = pypy3
|
|
; deps = {[testenv:py35]deps}
|
|
; commands =
|
|
; py.test {posargs:scrapy tests}
|
|
|
|
[docs]
|
|
changedir = docs
|
|
deps =
|
|
-rdocs/requirements.txt
|
|
|
|
[testenv:docs]
|
|
basepython = python3.8
|
|
changedir = {[docs]changedir}
|
|
deps = {[docs]deps}
|
|
commands =
|
|
sphinx-build -W -b html . {envtmpdir}/html
|
|
|
|
[testenv:docs-coverage]
|
|
changedir = {[docs]changedir}
|
|
deps = {[docs]deps}
|
|
commands =
|
|
sphinx-build -b coverage . {envtmpdir}/coverage
|
|
|
|
[testenv:docs-links]
|
|
changedir = {[docs]changedir}
|
|
deps = {[docs]deps}
|
|
commands =
|
|
sphinx-build -W -b linkcheck . {envtmpdir}/linkcheck
|
|
|
|
[testenv:py38-extra-deps]
|
|
basepython = python3.8
|
|
deps =
|
|
{[testenv:py35]deps}
|
|
robotexclusionrulesparser
|