[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