[Numpy-discussion] Monkeypatching vs nose plugin?

Robert Kern robert.kern@gmail....
Wed Jul 16 22:32:14 CDT 2008

On Wed, Jul 16, 2008 at 22:21, Alan McIntyre <alan.mcintyre@gmail.com> wrote:
> On Wed, Jul 16, 2008 at 10:00 PM, Robert Kern <robert.kern@gmail.com> wrote:
>> Is there a way to do it programatically without requiring numpy to be
>> installed with setuptools?
> There is; you have to pass a list of plugin instances to the
> constructor of TestProgram--all plugins that you might want to use,
> even the builtin ones.  (As far as I know, that is.)
> The monkeypatching approach was the first one that I could make to
> work with the least amount of hassle, but it's definitely not the best
> way.  I only had to monkeypatch a couple of things at first, but as I
> figured out what the test framework needed to do, it just got worse,
> so I was beginning to get uncomfortable with it myself. (Honest! :)
> Once the NumPy and SciPy test suites are mostly fixed up to work under
> the current rules, I'll go back and use a method that doesn't require
> monkeypatching.  It shouldn't have any effect on the public interface
> or the tests themselves.

Sounds good.

> Since we're discussing this sort of thing, there's something I've been
> meaning to ask anyway: do we really need to allow end users to pass in
> arbitrary extra arguments to nose (via the extra_argv in test())?
> This seems to lock us in to having a mostly unobstructed path from
> test() through to an uncustomized nose backend.

At least with other projects, I occasionally want to do things like
run with --pdb-failure or --detailed-errors, etc. What exactly is
extra_argv blocking? My preference, actually, is for the nosetests
command to be able to run our tests correctly if at all possible.

Robert Kern

"I have come to believe that the whole world is an enigma, a harmless
enigma that is made terrible by our own mad attempt to interpret it as
though it had an underlying truth."
 -- Umberto Eco

More information about the Numpy-discussion mailing list