[New-bugs-announce] [issue39892] Enable DeprecationWarnings by default when not explicit in unittest.main()

Gregory P. Smith report at bugs.python.org
Sat Mar 7 19:53:52 EST 2020


New submission from Gregory P. Smith <greg at krypto.org>:

Recurring theme: The stdlib has the issue of DeprecationWarning being added to APIs we are changing or removing a few versions in the future yet we perceive that many people never actually bother to try checking their code for deprecation warnings.  Only raising issues with a documented, warned, planned in advance API change when it actually happens.

Could we reduce the chances of this by enabling DeprecationWarnings by default for processes started via unittest.main() and other common unittest entrypoints?  (other test frameworks like pytest should also consider this if they don't already; do we have any existing external implementations of this for inspiration?)

One issue with this is that some important warnings are at _parse_ time or _import_ time.  But we can deal with import time ones if we are able to have the unittest entrypoint re-exec the process with the same args but with warnings enabled.  (and _could_ surface parse time ones if we're willing to accept slower process startup by disabling use of pycs; i wouldn't go that far)

Related work: https://www.python.org/dev/peps/pep-0565/

has this idea already been discussed?  I don't remember and haven't searched backwards...

----------
components: Library (Lib), Tests
messages: 363620
nosy: gregory.p.smith, ncoghlan, vstinner
priority: normal
severity: normal
stage: needs patch
status: open
title: Enable DeprecationWarnings by default when not explicit in unittest.main()
type: enhancement
versions: Python 3.9

_______________________________________
Python tracker <report at bugs.python.org>
<https://bugs.python.org/issue39892>
_______________________________________


More information about the New-bugs-announce mailing list