![](https://secure.gravatar.com/avatar/2d3e32506243224474e7292fab5fddba.jpg?s=120&d=mm&r=g)
On Aug 5, 2008, at 2:00 AM, Robert Kern wrote:
You have old stuff in your checkout/installation. Make sure you have deleted all of the *.pycs and directories which have been deleted in SVN.
Now that I've fixed that, I can tell that I made a mistake related to the self-test code. I can't figure it out. Many of the modules have code which look like from testing import Tester test = Tester().test bench = Tester().bench As I understand it, this code is migrating to use nosetests. Because people expect 'import numpy; numpy.test()' to work, there will be a compatibility period where this API is unchanged. I found that importing 'testing' costs 0.013 seconds, which is 10% of my current import time. I would like to defer the import until needed, so I rewrote the 'test' code as: def test(label='fast', verbose=1, extra_argv=None, doctests=False, coverage=False, **kwargs): from testing import Tester import numpy Tester(numpy).test(label, verbose, extra_argv, doctests, coverage, **kwargs) In my view there's no difference between them, but Tester().test does introspection to figure out the module location. (In fact, if I don't pass it the module explicitly then it expects that locals() ["__file__"] for sys._getframe(-1) will exist, which is not the case with my function. The underling code should instead check for that variable in globals().) I ended up with recursion errors, and I don't know why. Any idea of what to do? [josiah:~] dalke% python -c 'import numpy; numpy.test()' Running unit tests for numpy NumPy version 1.2.0.dev5607 NumPy is installed in /Library/Frameworks/Python.framework/Versions/ 2.5/lib/python2.5/site-packages/numpy Python version 2.5 (r25:51918, Sep 19 2006, 08:49:13) [GCC 4.0.1 (Apple Computer, Inc. build 5341)] nose version 0.10.3 Running unit tests for numpy NumPy version 1.2.0.dev5607 NumPy is installed in /Library/Frameworks/Python.framework/Versions/ 2.5/lib/python2.5/site-packages/numpy Python version 2.5 (r25:51918, Sep 19 2006, 08:49:13) [GCC 4.0.1 (Apple Computer, Inc. build 5341)] nose version 0.10.3 Running unit tests for numpy NumPy version 1.2.0.dev5607 NumPy is installed in /Library/Frameworks/Python.framework/Versions/ 2.5/lib/python2.5/site-packages/numpy .... Python version 2.5 (r25:51918, Sep 19 2006, 08:49:13) [GCC 4.0.1 (Apple Computer, Inc. build 5341)] nose version 0.10.3 EEEEEEEEEEE ====================================================================== ERROR: numpy.test ---------------------------------------------------------------------- Traceback (most recent call last): File "/Library/Frameworks/Python.framework/Versions/2.5/lib/ python2.5/site-packages/nose-0.10.3-py2.5.egg/nose/case.py", line 182, in runTest self.test(*self.arg) File "/Library/Frameworks/Python.framework/Versions/2.5/lib/ python2.5/site-packages/numpy/__init__.py", line 107, in test coverage, **kwargs) File "/Users/dalke/cvses/numpy/build/lib.macosx-10.3-fat-2.5/numpy/ testing/nosetester.py", line 270, in test t = NumpyTestProgram(argv=argv, exit=False, plugins=plugins) File "/Library/Frameworks/Python.framework/Versions/2.5/lib/ python2.5/site-packages/nose-0.10.3-py2.5.egg/nose/core.py", line 219, in __init__ argv=argv, testRunner=testRunner, testLoader=testLoader) File "/Library/Frameworks/Python.framework/Versions/2.5/lib/ python2.5/unittest.py", line 758, in __init__ self.parseArgs(argv) ... return self.call(*arg, **kw) File "/Library/Frameworks/Python.framework/Versions/2.5/lib/ python2.5/site-packages/nose-0.10.3-py2.5.egg/nose/plugins/ manager.py", line 145, in simple result = meth(*arg, **kw) File "/Library/Frameworks/Python.framework/Versions/2.5/lib/ python2.5/site-packages/nose-0.10.3-py2.5.egg/nose/plugins/ attrib.py", line 214, in wantMethod return self.validateAttrib(attribs) File "/Library/Frameworks/Python.framework/Versions/2.5/lib/ python2.5/site-packages/nose-0.10.3-py2.5.egg/nose/plugins/ attrib.py", line 164, in validateAttrib if not value(key, attribs): File "/Library/Frameworks/Python.framework/Versions/2.5/lib/ python2.5/site-packages/nose-0.10.3-py2.5.egg/nose/plugins/ attrib.py", line 118, in eval_in_context return eval(expr, None, ContextHelper(attribs)) File "<string>", line 1, in <module> File "/Library/Frameworks/Python.framework/Versions/2.5/lib/ python2.5/site-packages/nose-0.10.3-py2.5.egg/nose/plugins/ attrib.py", line 50, in __getitem__ return self.obj.get(name, False) File "/Library/Frameworks/Python.framework/Versions/2.5/lib/ python2.5/site-packages/nose-0.10.3-py2.5.egg/nose/plugins/ attrib.py", line 66, in get log.debug('Get %s from %s.%s', name, self.cls, self.method) RuntimeError: maximum recursion depth exceeded
Andrew dalke@dalkescientific.com