KnownFailure getting added as a global nose plugin in ubuntu 11.10 - bad idea

Hi all,

I'm writing here in the hopes that both the ubuntu packagers are on
this list, and that we change things a bit in mpl to prevent this
problem from happening. After a nasty debugging marathon with the
IPython test suite failing on Ubuntu 11.10 beta -- see details at
https://github.com/ipython/ipython/issues/823, I finally tracked the
problem down to this little gem:

amirbar[matplotlib-1.0.1.egg-info]> pwd
/usr/share/pyshared/matplotlib-1.0.1.egg-info
amirbar[matplotlib-1.0.1.egg-info]> cat entry_points.txt
[nose.plugins]
KnownFailure = matplotlib.testing.noseclasses:KnownFailure

I'm not sure why the packagers decided to register this as a global
plugin, but it makes a mess. You can read some of the details in the
thread above if you're really interested. I've filed the ubuntu bug
here:

https://bugs.launchpad.net/ubuntu/+source/matplotlib/+bug/871176

But I suggest we actually *remove* this code from matplotlib
altogether. In ipython we do carry a copy of the same code, but we
load it very conditionally, only if numpy isn't found:

https://github.com/ipython/ipython/blob/master/IPython/external/decorators/_numpy_testing_noseclasses.py

This ensures we'll never collide with the 'real' version in numpy.
For IPython, numpy isn't a dependency, so we have to do this. But mpl
always has numpy around, so perhaps it would be better to simply use
it from numpy?

Cheers,

f