[Python-Dev] warnings.showwarning (was Re: [Python-3000] Reminder: last alphas next Wednesday 07-May-2008)

Jean-Paul Calderone exarkun at divmod.com
Fri May 2 15:32:49 CEST 2008


On Thu, 1 May 2008 19:31:20 -0700, Brett Cannon <brett at python.org> wrote:
>
> [snip]
>
>I just closed the release blocker I created (the
>backwards-compatibility issue with warnings.showwarning() ). I would
>like to add a PendingDeprecationWarning (or stronger) to 2.6 for
>showwarning() implementations that don't support the optional 'line'
>argument. I guess the best way to do it in C code would be to see if
>PyFunction_GetDefaults() returns a tuple of length two (since
>showwarning() already has a single optional argument as it is).

Hi Brett,

I'm still seeing some strange behavior from the warnings module,  This
can be observed on the community buildbot for Twisted, for example:

http://python.org/dev/buildbot/community/trunk/x86%20Ubuntu%20Hardy%20trunk/builds/171/step-Twisted.zope.stable/0

The log ends with basically all of the warning-related tests in Twisted
failing, reporting that no warnings happened.

There is also some strange behavior that can be easily observed in the REPL:

    exarkun at boson:~/Projects/python/trunk$ ./python 
/home/exarkun/Projects/Divmod/trunk/Combinator/combinator/xsite.py:7: DeprecationWarning: the sets module is deprecated
      from sets import Set
    Python 2.6a2+ (trunk:62636M, May  2 2008, 09:19:41) 
    [GCC 4.1.3 20070929 (prerelease) (Ubuntu 4.1.2-16ubuntu2)] on linux2
    Type "help", "copyright", "credits" or "license" for more information.
    >>> import warnings
    >>> warnings.warn("foo")
    :1: UserWarning: foo       # Where'd the module name go?
    >>> def f(*a):
    ...     print a
    ... 
    >>> warnings.showwarning = f
    >>> warnings.warn("foo")
    >>>                        # Where'd the warning go?

Any ideas on this?

Jean-Paul


More information about the Python-Dev mailing list