Skip to content

Commit 57c8f18

Browse files
committed
On 2.7, run tests on oldest documented supported deps.
... to make sure that they are indeed supported. Bump to pytest>=3.1 (actually required), dateutil>⩦2.1 (dateutil==2.0 is listed on pypi but has no sdist or wheel available).
1 parent baa5f8e commit 57c8f18

File tree

5 files changed

+42
-20
lines changed

5 files changed

+42
-20
lines changed

.travis.yml

+34-12
Original file line numberDiff line numberDiff line change
@@ -43,25 +43,43 @@ env:
4343
- secure: RgJI7BBL8aX5FTOQe7xiXqWHMxWokd6GNUWp1NUV2mRLXPb9dI0RXqZt3UJwKTAzf1z/OtlHDmEkBoTVK81E9iUxK5npwyyjhJ8yTJmwfQtQF2n51Q1Ww9p+XSLORrOzZc7kAo6Kw6FIXN1pfctgYq2bQkrwJPRx/oPR8f6hcbY=
4444
- secure: E7OCdqhZ+PlwJcn+Hd6ns9TDJgEUXiUNEI0wu7xjxB2vBRRIKtZMbuaZjd+iKDqCKuVOJKu0ClBUYxmgmpLicTwi34CfTUYt6D4uhrU+8hBBOn1iiK51cl/aBvlUUrqaRLVhukNEBGZcyqAjXSA/Qsnp2iELEmAfOUa92ZYo1sk=
4545
- secure: "dfjNqGKzQG5bu3FnDNwLG8H/C4QoieFo4PfFmZPdM2RY7WIzukwKFNT6kiDfOrpwt+2bR7FhzjOGlDECGtlGOtYPN8XuXGjhcP4a4IfakdbDfF+D3NPIpf5VlE6776k0VpvcZBTMYJKNFIMc7QPkOwjvNJ2aXyfe3hBuGlKJzQU="
46+
- CYCLER=cycler
47+
- DATEUTIL=python-dateutil
48+
- MOCK=
49+
- NOSE=
4650
- NUMPY=numpy
47-
- OPENBLAS_NUM_THREADS=1
4851
- PANDAS=
52+
- PYPARSING=pyparsing
53+
- PYTEST=pytest!=3.3.0
54+
- PYTEST_COV=pytest-cov
55+
- PYTEST_PEP8=
56+
- SPHINX=sphinx
57+
- OPENBLAS_NUM_THREADS=1
4958
- NPROC=2
50-
- INSTALL_PEP8=
5159
- RUN_PEP8=
52-
- NOSE=
5360
- PYTEST_ARGS="-rawR --maxfail=50 --timeout=300 --durations=25 --cov-report= --cov=lib -n $NPROC"
5461
- PYTHON_ARGS=
5562
- DELETE_FONT_CACHE=
5663

5764
matrix:
5865
include:
5966
- python: 2.7
60-
env: MOCK=mock NUMPY=numpy==1.7.1 PANDAS=pandas NOSE=nose
67+
# pytest-cov>=2.3.1 due to https://github.com/pytest-dev/pytest-cov/issues/124.
68+
env:
69+
- CYCLER=cycler==0.10
70+
- DATEUTIL=python-dateutil==2.1
71+
- MOCK=mock
72+
- NOSE=nose
73+
- NUMPY=numpy==1.7.1
74+
- PANDAS='pandas<0.21.0'
75+
- PYPARSING=pyparsing==2.0.1
76+
- PYTEST=pytest==3.1.0
77+
- PYTEST_COV=pytest-cov==2.3.1
78+
- SPHINX=sphinx==1.3
6179
- python: 3.4
6280
env: PYTHON_ARGS=-OO
6381
- python: 3.6
64-
env: DELETE_FONT_CACHE=1 INSTALL_PEP8=pytest-pep8 RUN_PEP8=--pep8 PANDAS=pandas
82+
env: DELETE_FONT_CACHE=1 PANDAS='pandas<0.21.0' PYTEST_PEP8=pytest-pep8 RUN_PEP8=--pep8
6583
- python: "nightly"
6684
env: PRE=--pre
6785
- os: osx
@@ -108,16 +126,21 @@ install:
108126
# Upgrade pip and setuptools and wheel to get as clean an install as possible
109127
pip install --upgrade pip setuptools wheel
110128
- |
111-
# Install dependencies from pypi
129+
# Install dependencies from PyPI
112130
pip install --upgrade $PRE \
131+
codecov \
132+
coverage \
133+
$CYCLER \
113134
$MOCK \
114135
$NOSE \
115136
$NUMPY \
116137
$PANDAS \
117138
codecov \
118139
coverage \
119140
pillow \
120-
sphinx
141+
$PYPARSING \
142+
$DATEUTIL \
143+
$SPHINX
121144
# GUI toolkits are pip-installable only for some versions of Python so
122145
# don't fail if we can't install them. Make it easier to check whether the
123146
# install was successful by trying to import the toolkit (sometimes, the
@@ -134,15 +157,14 @@ install:
134157
echo 'wxPython is available' ||
135158
echo 'wxPython is not available'
136159
137-
# pytest-cov>=2.3.1 due to https://github.com/pytest-dev/pytest-cov/issues/124
138160
pip install $PRE \
139-
pytest!=3.3.0 \
140-
pytest-cov>=2.3.1 \
161+
$PYTEST \
162+
$PYTEST_COV \
141163
pytest-faulthandler \
164+
$PYTEST_PEP8 \
142165
pytest-rerunfailures \
143166
pytest-timeout \
144-
pytest-xdist \
145-
$INSTALL_PEP8
167+
pytest-xdist
146168
147169
# Use the special local version of freetype for testing
148170
cp ci/travis/setup.cfg .

INSTALL.rst

+1-1
Original file line numberDiff line numberDiff line change
@@ -171,7 +171,7 @@ Matplotlib requires a large number of dependencies:
171171
* `Python <https://www.python.org/downloads/>`_ (>= 2.7 or >= 3.4)
172172
* `NumPy <http://www.numpy.org>`_ (>= |minimum_numpy_version|)
173173
* `setuptools <https://setuptools.readthedocs.io/en/latest/>`__
174-
* `dateutil <https://pypi.python.org/pypi/python-dateutil>`_ (>= 2.0)
174+
* `dateutil <https://pypi.python.org/pypi/python-dateutil>`_ (>= 2.1)
175175
* `pyparsing <https://pyparsing.wikispaces.com/>`__
176176
* `libpng <http://www.libpng.org>`__ (>= 1.2)
177177
* `pytz <http://pytz.sourceforge.net/>`__

doc/devel/contributing.rst

+2-2
Original file line numberDiff line numberDiff line change
@@ -152,8 +152,8 @@ environment is set up properly::
152152

153153
.. note::
154154

155-
**Additional dependencies for testing**: pytest_ (version 3.0 or later),
156-
mock_ (if python < 3.3), Ghostscript_, Inkscape_
155+
**Additional dependencies for testing**: pytest_ (version 3.1 or later),
156+
mock_ (if Python 2), Ghostscript_, Inkscape_
157157

158158
.. seealso::
159159

doc/devel/testing.rst

+3-3
Original file line numberDiff line numberDiff line change
@@ -26,14 +26,14 @@ local FreeType build
2626

2727
The following software is required to run the tests:
2828

29-
- pytest_, version 3.0.0 or later
30-
- mock_, when running Python versions < 3.3
29+
- pytest_ (>=3.1)
30+
- mock_, when running Python 2
3131
- Ghostscript_ (to render PDF files)
3232
- Inkscape_ (to render SVG files)
3333

3434
Optionally you can install:
3535

36-
- pytest-cov_ to collect coverage information
36+
- pytest-cov_ (>=2.3.1) to collect coverage information
3737
- pytest-pep8_ to test coding standards
3838
- pytest-timeout_ to limit runtime in case of stuck tests
3939
- pytest-xdist_ to run tests in parallel

setupext.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -798,7 +798,7 @@ def get_namespace_packages(self):
798798

799799
class Tests(OptionalPackage):
800800
name = "tests"
801-
pytest_min_version = '3.0.0'
801+
pytest_min_version = '3.1'
802802
default_config = False
803803

804804
def check(self):
@@ -1465,7 +1465,7 @@ def get_install_requires(self):
14651465
install_requires = [
14661466
"cycler>=0.10",
14671467
"pyparsing>=2.0.1,!=2.0.4,!=2.1.2,!=2.1.6",
1468-
"python-dateutil>=2.0",
1468+
"python-dateutil>=2.1",
14691469
"pytz",
14701470
"six>=1.10",
14711471
]

0 commit comments

Comments
 (0)