On 06/18/2013 07:09 PM, Fernando Perez wrote: > Hi Mike, > > On Tue, Jun 18, 2013 at 3:37 PM, Michael Droettboom <md...@stsci.edu> wrote: >> This was an attempt to fix a bug that mpl's KnownFailure plugin wouldn't >> load when running tests directly using the nosetests commandline >> script. I see IPython has a testing wrapper script (iptest) -- is that >> in part to solve that problem? > Only in part. We wrote iptest because we need to start nose multiple > times in different subprocesses for each chunk of IPython, as trying > to load all of IPython into a single python process ends up producing > tears (conflicts between things that don't like to live together in > sys.modules like multiple gui toolkits, etc).
We are likely to have to do the same thing in the near future -- we already have to spawn subprocesses in the setup script because we can't, for example, import pygtk (classic) and pygi (the new hotness) in the same process. > >> In any case, the revert should be simple -- can you try commenting out >> the "entry_points" kwarg at the bottom of the setup.py script? (You'll >> probably need to blitz the matplotlib installation directory and `build` >> for good measure). I can't actually reproduce the bug myself, but I >> suspect that's because this is somewhat dependent on the order in which >> things are installed into the virtualenv or the phases of the moon... > Yup, problem gone. With this change: > > ((v1.3.0rc3))longs[matplotlib]> git diff > diff --git a/setup.py b/setup.py > index 5f1b561..b4d1763 100644 > --- a/setup.py > +++ b/setup.py > @@ -230,9 +230,9 @@ if __name__ == '__main__': > zip_safe=False, > > # Install our nose plugin so it will always be found > - entry_points={ > - 'nose.plugins.0.10': [ > - 'KnownFailure = > matplotlib.testing.noseclasses:KnownFailure' > - ] > - }, > + # entry_points={ > + # 'nose.plugins.0.10': [ > + # 'KnownFailure = > matplotlib.testing.noseclasses:KnownFailure' > + # ] > + # }, > ) > > I get as expected: > > ((v1.3.0rc3))longs[matplotlib]> iptest -vx IPython.core.tests.test_run > > [...] > > ---------------------------------------------------------------------- > Ran 23 tests in 2.277s > > OK (KNOWNFAIL=1) > >> If that works for you, we can just take that out and require testers to >> use our testing script (and unfortunately will have to make another >> release candidate). > Well, I wouldn't want to force mpl to have to ship a custom testing > script, that's kind of an ugly kludge that we live with but that is > really sub-optimal. I wish we could just fix this plugin issue. The > problem, I suspect, is the presence of multiple KnownFailure classes > in a way that trips an isisnstance() check somewhere. Well, this wouldn't be anything new. The 1.2 series (and I think as far back as we've had nosetests) requires this already, I was just hoping this would be a solution to that. I think I'm fine with just taking this out for 1.3.0 and, as Thomas Kluyver suggested, dealing with this properly once we drop support for Python 2.6. Cheers, Mike > > Cheers, > > f ------------------------------------------------------------------------------ This SF.net email is sponsored by Windows: Build for Windows Store. http://p.sf.net/sfu/windows-dev2dev _______________________________________________ Matplotlib-devel mailing list Matplotlib-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-devel