[SciPy-Dev] scipy.test() failures '0.9.0.dev6635'
Warren Weckesser
warren.weckesser at enthought.com
Wed Jul 21 17:13:34 EDT 2010
Nils Wagner wrote:
> ======================================================================
> FAIL: test_mio.test_mat4_3d(<type
> 'exceptions.DeprecationWarning'>, <functools.partial
> object at 0x3081680
>
>> , <StringIO.StringIO instance at 0x5096bd8>, {'a': array([[[ 0, 1, 2, 3],
>>
> ----------------------------------------------------------------------
> Traceback (most recent call last):
> File
> "/home/nwagner/local/lib64/python2.6/site-packages/nose-0.11.2.dev-py2.6.egg/nose/case.py",
> line 18
> 3, in runTest
> self.test(*self.arg)
> File
> "/home/nwagner/local/lib64/python2.6/site-packages/numpy/testing/utils.py",
> line 982, in assert_rai
> ses
> return nose.tools.assert_raises(*args,**kwargs)
> AssertionError: DeprecationWarning not raised
> if hasattr(excClass,'__name__'): 'DeprecationWarning'
> = excClass.'unittest'
> else: 'DeprecationWarning' = str(excClass)
>
>>> raise self.failureException, "%s not raised" % 'DeprecationWarning'
>>>
>
>
> ======================================================================
> FAIL: test_00_deprecation_warning
> (test_basic.TestSolveHBanded)
> ----------------------------------------------------------------------
> Traceback (most recent call last):
> File
> "/home/nwagner/local/lib64/python2.6/site-packages/scipy/linalg/tests/test_basic.py",
> line 262, in
> test_00_deprecation_warning
> assert_raises(DeprecationWarning, solveh_banded, ab,
> b)
> File
> "/home/nwagner/local/lib64/python2.6/site-packages/numpy/testing/utils.py",
> line 982, in assert_rai
> ses
> return nose.tools.assert_raises(*args,**kwargs)
> AssertionError: DeprecationWarning not raised
> if hasattr(excClass,'__name__'): 'DeprecationWarning'
> = excClass.'unittest'
> else: 'DeprecationWarning' = str(excClass)
>
>>> raise self.failureException, "%s not raised" % 'DeprecationWarning'
>>>
>
>
These two errors are failures to raise a deprecation warning.
Does anyone else get these?
I wrote the test test_00_deprecation_warning in test_basic.py,
one of the linalg test modules. In SciPy 0.8 and currently
in the trunk, the function solveh_banded is supposed to
raise a deprecation warning, because in the final release
of 0.9, its return value will be changed.
The tests for solveh_banded work for me, but they might
be taking advantage of behavior of nose that is not
reliable. In effect, test_00_deprecation_warning assumes
that will execute the first call of solveh_banded, so
the deprecation warning will occur. All the other test
functions include the line
warnings.simplefilter('ignore', category=DeprecationWarning)
so they ignore the warning, even if it occurs.
Is there a way to reset whatever internal flag the
warnings module has that indicates that a warning has
already been issued once?
I see that the documentation for the warnings module
describes a 'catch_warnings' context manager, but
we need to be compatible with Python 2.4. The 'with'
statement appears in 2.5.
Warren
P.S. It looks like handling of DeprecationWarnings will
require a little more work with Python 2.7, where they
are ignored by default.
More information about the SciPy-Dev
mailing list