Как протестировать графику matplotlib с помощью tox и py.test?
Мои файлы:
testtox /
- testtox.py
- tox.ini
- setup.py
testtox.py содержит:
import matplotlib.pyplot as plt
def plotting():
"""Plot.
Examples
--------
>>> plt.ion()
>>> plotting()
"""
plt.plot([1, 2, 1, 3])
tox.ini:
[tox]
envlist = py27
[testenv:py27]
sitepackages = True
commands = py.test --doctest-modules testtox.py
deps = pytest
setup.py:
from setuptools import setup
setup(name='testtox', py_modules=['testtox'])
py.test сам по себе работает нормально:
$ py.test --doctest-modules testtox.py
В этом случае окно графика кратковременно мигает.
tox выдает ошибку в переменной DISPLAY:
$ tox
[...cut ...]
=================================================== FAILURES ====================================================
__________________________________________ [doctest] testtox.plotting ___________________________________________
005 """Plot.
006
007 Examples
008 --------
009 >>> plt.ion()
010 >>> plotting()
UNEXPECTED EXCEPTION: RuntimeError(u'Invalid DISPLAY variable',)
Traceback (most recent call last):
[...]
File "/usr/local/lib/python2.7/dist-packages/matplotlib/backends/backend_qt5.py", line 138, in _create_qApp
raise RuntimeError('Invalid DISPLAY variable')
RuntimeError: Invalid DISPLAY variable
Эта ошибка произошла с самой последней версией tox (2.1.1). Старая версия не выдавала ошибки.