Unit test error with numpy rc3

Tim Hochberg tim.hochberg at ieee.org
Thu Oct 19 12:08:37 CDT 2006


OK, I've checked in changes to suppress all the warnings in the test 
suite. I tried to be as targeted as possible so that any regressions 
from the current state in terms of warnings should show up.

I suspect that there may be some issues with regards to masked arrays 
issuing spurious warnings. I'm not a ma user, so I didn't take the time 
to investigate this, but someone who cares should probably look at this 
and consider how to resolve it.

Also with regard to the recent addition of the errcall argument to 
errstate, it appears that if errcall is *not* specified, self.errcall 
will be set to None. This means that any existing error callback will be 
removed when entering the block (and replaced when you leave). I don't 
think that's the desired behavior. Instead, if errcall is not specified, 
I believe we should leave the value of errcall alone. Does that sound 
right, or am I missing something? This would result in something like:

    def __init__(self, **kwargs):
        if 'errcall' in kwargs:
            self.errcall = kwargs.pop('errcall')
            self.errcall = geterrcall()
        self.kwargs = kwargs

This still allows you to set the errcall to None for the block by using:

    with errstate(errcall=None):
        # do stuff

Hmm. Should that be 'errcall' or just 'call'? 'errstate(errcall...)' 
seems somewhat redundant.

Finally, and this is a moot point anyway assuming the above rewrite, is 
there a reason to use:

        if 'errcall' in kwargs:
            self.errcall = kwargs.pop('errcall')
            self.errcall = geterrcall()

rather than simply:

    self.errcall = kwargs.pop('errcall', None)




Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo

More information about the Numpy-discussion mailing list