diff --git a/.appveyor.yml b/.appveyor.yml index deaf503b7..a3f83394f 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -18,8 +18,8 @@ environment: install: - C:\Python%PYTHON%\python.exe -m pip install -U pip setuptools - - C:\Python%PYTHON%\python.exe -m pip install docutils==%DOCUTILS% - - C:\Python%PYTHON%\python.exe -m pip install -r test-reqs.txt + - C:\Python%PYTHON%\python.exe -m pip install docutils==%DOCUTILS% mock + - C:\Python%PYTHON%\python.exe -m pip install .[test,websupport] # No automatic build, just run python tests build: off diff --git a/.travis.yml b/.travis.yml index 6df4f7cfb..73fd9c459 100644 --- a/.travis.yml +++ b/.travis.yml @@ -40,7 +40,8 @@ addons: install: - pip install -U pip setuptools - pip install docutils==$DOCUTILS - - pip install -r test-reqs.txt + - pip install .[test,websupport] + - pip install flake8 - if [[ $TRAVIS_PYTHON_VERSION == '3.6' ]]; then python3.6 -m pip install mypy typed-ast; fi script: - flake8 diff --git a/setup.py b/setup.py index b2d7ad4cc..618620b50 100644 --- a/setup.py +++ b/setup.py @@ -69,10 +69,17 @@ extras_require = { ], 'test': [ 'pytest', - 'mock', # it would be better for 'test:python_version in 2.7' - 'simplejson', # better: 'test:platform_python_implementation=="PyPy"' + 'pytest-cov', 'html5lib', ], + 'test:python_version<"3"': [ + 'enum34', + 'mock', + ], + 'test:python_version>="3"': [ + 'mypy', + 'typed_ast', + ], } # Provide a "compile_catalog" command that also creates the translated @@ -83,10 +90,7 @@ cmdclass = {} try: from babel.messages.pofile import read_po from babel.messages.frontend import compile_catalog - try: - from simplejson import dump - except ImportError: - from json import dump + from json import dump except ImportError: pass else: diff --git a/test-reqs.txt b/test-reqs.txt index 3a7bde8ea..be15ff1ab 100644 --- a/test-reqs.txt +++ b/test-reqs.txt @@ -1,20 +1,7 @@ flake8 pytest>=3.0 pytest-cov -mock -six>=1.4 -Jinja2>=2.3 -Pygments>=2.0 -docutils>=0.11 -snowballstemmer>=1.1 -babel -sqlalchemy>=0.9 -whoosh>=2.0 -alabaster -sphinx_rtd_theme -sphinxcontrib-websupport -imagesize -requests html5lib -enum34 -typing +mock;python_version<'3.3' +mypy;python_version>='3.2' +typed_ast;python_version>='3.2' diff --git a/tox.ini b/tox.ini index 519020f98..d78754dd4 100644 --- a/tox.ini +++ b/tox.ini @@ -1,16 +1,10 @@ [tox] -envlist=flake8,py27,py34,py35,py36,pypy,du14,du13,du12,du11 +minversion=2.0 +envlist=flake8,mypy,py{27,34,35,36},pypy,du{11,12,13,14} [testenv] passenv = https_proxy http_proxy no_proxy -deps= - six - pytest - pytest-cov - html5lib - mock - enum34 - typing +deps=-rtest-reqs.txt setenv = SPHINX_TEST_TEMPDIR = {envdir}/testbuild commands= @@ -18,11 +12,6 @@ commands= --durations 25 {posargs} sphinx-build -q -W -b html -d {envtmpdir}/doctrees doc {envtmpdir}/html -[testenv:pypy] -deps= - simplejson - {[testenv]deps} - [testenv:du11] deps= docutils==0.11 @@ -59,10 +48,6 @@ deps= {[testenv]deps} [testenv:py35] -deps= - mypy - typed_ast - {[testenv]deps} commands= {envpython} -Wall tests/run.py --cov=sphinx --durations 25 {posargs} sphinx-build -q -W -b html -d {envtmpdir}/doctrees doc {envtmpdir}/html