Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Multiple test errors in current master on Python 3.4 / Ubuntu 12.04 #3086

Closed
andrewclegg opened this issue May 24, 2014 · 4 comments
Closed

Comments

@andrewclegg
Copy link

Not sure if you're officially supporting Python 3.4 yet, but just in case this is useful...

I am trying to get the current master branch (4b1bd63) working on 3.4 for my Snake Charmer project. When I run

python3.4 -c "import matplotlib; matplotlib.test()"

I get 4 tests in error (see below).

To reproduce, check out snake-charmer-devs/snake-charmer@72734de, spin up a VM as directed in the README, log into the VM by doing vagrant ssh and run the tests as normal.

Test transcript:

======================================================================
ERROR: matplotlib.tests.test_text.test_multiline.test
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/local/lib/python3.4/dist-packages/nose/case.py", line 198, in runTest
    self.test(*self.arg)
  File "/usr/local/lib/python3.4/dist-packages/matplotlib/testing/decorators.py", line 50, in failer
    result = f(*args, **kwargs)
  File "/usr/local/lib/python3.4/dist-packages/matplotlib/testing/decorators.py", line 188, in do_test
    figure.savefig(actual_fname, **self._savefig_kwarg)
  File "/usr/local/lib/python3.4/dist-packages/matplotlib/figure.py", line 1470, in savefig
    self.canvas.print_figure(*args, **kwargs)
  File "/usr/local/lib/python3.4/dist-packages/matplotlib/backend_bases.py", line 2192, in print_figure
    **kwargs)
  File "/usr/local/lib/python3.4/dist-packages/matplotlib/backends/backend_svg.py", line 1177, in print_svg
    return self._print_svg(filename, svgwriter, fh_to_close, **kwargs)
  File "/usr/local/lib/python3.4/dist-packages/matplotlib/backends/backend_svg.py", line 1205, in _print_svg
    self.figure.draw(renderer)
  File "/usr/local/lib/python3.4/dist-packages/matplotlib/artist.py", line 59, in draw_wrapper
    draw(artist, renderer, *args, **kwargs)
  File "/usr/local/lib/python3.4/dist-packages/matplotlib/figure.py", line 1079, in draw
    func(*args)
  File "/usr/local/lib/python3.4/dist-packages/matplotlib/artist.py", line 59, in draw_wrapper
    draw(artist, renderer, *args, **kwargs)
  File "/usr/local/lib/python3.4/dist-packages/matplotlib/axes/_base.py", line 2088, in draw
    a.draw(renderer)
  File "/usr/local/lib/python3.4/dist-packages/matplotlib/artist.py", line 59, in draw_wrapper
    draw(artist, renderer, *args, **kwargs)
  File "/usr/local/lib/python3.4/dist-packages/matplotlib/text.py", line 538, in draw
    bbox, info, descent = self._get_layout(renderer)
  File "/usr/local/lib/python3.4/dist-packages/matplotlib/text.py", line 320, in _get_layout
    ismath=ismath)
  File "/usr/local/lib/python3.4/dist-packages/matplotlib/backends/backend_svg.py", line 1154, in get_text_width_height_descent
    return self._text2path.get_text_width_height_descent(s, prop, ismath)
  File "/usr/local/lib/python3.4/dist-packages/matplotlib/textpath.py", line 116, in get_text_width_height_descent
    font = self._get_font(prop)
  File "/usr/local/lib/python3.4/dist-packages/matplotlib/textpath.py", line 60, in _get_font
    font = FT2Font(fname)
TypeError: First argument must be a path or file object reading bytes

======================================================================
ERROR: Failure: AttributeError ('module' object has no attribute 'test_dates')
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/local/lib/python3.4/dist-packages/nose/failure.py", line 39, in runTest
    raise self.exc_val.with_traceback(self.tb)
  File "/usr/local/lib/python3.4/dist-packages/nose/loader.py", line 403, in loadTestsFromName
    module = resolve_name(addr.module)
  File "/usr/local/lib/python3.4/dist-packages/nose/util.py", line 321, in resolve_name
    obj = getattr(obj, part)
AttributeError: 'module' object has no attribute 'test_dates'

======================================================================
ERROR: Failure: AttributeError ('module' object has no attribute 'test_legend')
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/local/lib/python3.4/dist-packages/nose/failure.py", line 39, in runTest
    raise self.exc_val.with_traceback(self.tb)
  File "/usr/local/lib/python3.4/dist-packages/nose/loader.py", line 403, in loadTestsFromName
    module = resolve_name(addr.module)
  File "/usr/local/lib/python3.4/dist-packages/nose/util.py", line 321, in resolve_name
    obj = getattr(obj, part)
AttributeError: 'module' object has no attribute 'test_legend'

======================================================================
ERROR: Failure: AttributeError ('module' object has no attribute 'test_patheffects')
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/local/lib/python3.4/dist-packages/nose/failure.py", line 39, in runTest
    raise self.exc_val.with_traceback(self.tb)
  File "/usr/local/lib/python3.4/dist-packages/nose/loader.py", line 403, in loadTestsFromName
    module = resolve_name(addr.module)
  File "/usr/local/lib/python3.4/dist-packages/nose/util.py", line 321, in resolve_name
    obj = getattr(obj, part)
AttributeError: 'module' object has no attribute 'test_patheffects'

----------------------------------------------------------------------
Ran 4546 tests in 11006.755s

FAILED (KNOWNFAIL=365, SKIP=9, errors=4)
/usr/local/lib/python3.4/dist-packages/matplotlib/__init__.py:1252: UserWarning:  This call to matplotlib.use() has no effect
because the backend has already been chosen;
matplotlib.use() must be called *before* pylab, matplotlib.pyplot,
or matplotlib.backends is imported for the first time.

  warnings.warn(_use_error_msg)
@tacaswell
Copy link
Member

Three of those failures are probably due to the VM not having mock installed (I had the same failures locally in a venv and pip install mock fixed it).

Not sure about the font issue, I can not reproduce that locally, my guess is that the VM misses a font mpl assumes exists so that ends up being a very un-helpful 'file not found' message.

@andrewclegg
Copy link
Author

Actually, installing mock fixed all of them, including that one, thanks.

@jenshnielsen
Copy link
Member

Shouldn't matplotlib import mock from unittest.mock on python 3.3 and 3.4? https://pypi.python.org/pypi/mock

@tacaswell
Copy link
Member

I suspect you are right and something is messed up in our install scripts.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants