[SciPy-Dev] scipy.test() failures '0.9.0.dev6635'
josef.pktd at gmail.com
josef.pktd at gmail.com
Wed Jul 21 18:02:06 EDT 2010
On Wed, Jul 21, 2010 at 11:52 PM, Warren Weckesser
<warren.weckesser at enthought.com> wrote:
> Sorry for talking to myself as I learn more
> about the warnings module...
>
> Warren Weckesser wrote:
>> Warren Weckesser wrote:
>>
>>> 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?
>>>
>>>
>>
>> Partially answering my own question: in the test
>> where I want the warning to occur, I could use a
>> simplefilter to always issue deprecation warnings:
>>
>> warnings.simplefilter('always', category=DeprecationWarning)
>>
>>
>
> Nope, that doesn't do what I expected. Now I'll be quiet
> until I have a better idea of how warnings *really*
> work.
Keep going even if it's a monologue. I find negative results very
instructive and have my struggle with the details of warnings still
ahead of me.
Josef
>
> Warren
>
>
>> Warren
>>
>>
>>
>>> 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.
>>>
>>> _______________________________________________
>>> SciPy-Dev mailing list
>>> SciPy-Dev at scipy.org
>>> http://mail.scipy.org/mailman/listinfo/scipy-dev
>>>
>>>
>>
>> _______________________________________________
>> SciPy-Dev mailing list
>> SciPy-Dev at scipy.org
>> http://mail.scipy.org/mailman/listinfo/scipy-dev
>>
>
> _______________________________________________
> SciPy-Dev mailing list
> SciPy-Dev at scipy.org
> http://mail.scipy.org/mailman/listinfo/scipy-dev
>
More information about the SciPy-Dev
mailing list