[issue43862] warnings: -W option and PYTHONWARNINGS now use the message as a regex

2021-12-13 Thread STINNER Victor


STINNER Victor  added the comment:

I mark this issue as a duplicate of bpo-34624.

--
resolution:  -> duplicate
stage: patch review -> resolved
status: open -> closed
superseder:  -> -W option and PYTHONWARNINGS env variable does not accept 
module regexes

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue43862] warnings: -W option and PYTHONWARNINGS now use the message as a regex

2021-04-22 Thread STINNER Victor


STINNER Victor  added the comment:

I also created a thread on python-dev:
https://mail.python.org/archives/list/python-...@python.org/thread/JMKLA4RUJLTORBPPTM4BWL76VNNMKYVG/

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue43862] warnings: -W option and PYTHONWARNINGS now use the message as a regex

2021-04-16 Thread STINNER Victor


STINNER Victor  added the comment:


New changeset 62ec63864822de1dd1933225584e8503ac40c1f9 by Victor Stinner in 
branch 'master':
bpo-43862: Enhance -W cmdline option documentation (GH-25439)
https://github.com/python/cpython/commit/62ec63864822de1dd1933225584e8503ac40c1f9


--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue43862] warnings: -W option and PYTHONWARNINGS now use the message as a regex

2021-04-16 Thread STINNER Victor


STINNER Victor  added the comment:

> Sadly, the current -W option documentation is wrong :-( I started by writing 
> PR 25439 to fix the documentation, before changing its behavior.

Hum, "wrong" may be too strong. I would say that it is at least misleading.

It starts with "file:line: category: message". I understood that it was the 
format the option, whereas it is not. Moreover, the full format is simply... 
not documented at all! Only the short -Waction format :-(

https://docs.python.org/dev/using/cmdline.html#cmdoption-W

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue43862] warnings: -W option and PYTHONWARNINGS now use the message as a regex

2021-04-16 Thread STINNER Victor


STINNER Victor  added the comment:

Sadly, the current -W option documentation is wrong :-( I started by writing PR 
25439 to fix the documentation, before changing its behavior.

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue43862] warnings: -W option and PYTHONWARNINGS now use the message as a regex

2021-04-16 Thread STINNER Victor


Change by STINNER Victor :


--
keywords: +patch
pull_requests: +24169
stage:  -> patch review
pull_request: https://github.com/python/cpython/pull/25439

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue43862] warnings: -W option and PYTHONWARNINGS now use the message as a regex

2021-04-16 Thread Karthikeyan Singaravelan


Karthikeyan Singaravelan  added the comment:

See also https://bugs.python.org/issue34624

--
nosy: +xtreak

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue43862] warnings: -W option and PYTHONWARNINGS now use the message as a regex

2021-04-16 Thread STINNER Victor

New submission from STINNER Victor :

I propose to change the -W command line option and the PYTHONWARNINGS 
environment variable to use the message as a regular expression in Python 3.10. 
Or does anyone have a reason to keep the current behavior as it is?

--

Python provides two ways to specify warnings filters:

* -W command line option: can be used multiple times
* PYTHONWARNINGS environment variable: can contain multiple options separated 
by commas

While the Python API warnings.filterwarnings(action, message="", ...) uses the 
message as a regular expression, -W and PYTHONWARNINGS require to match 
*exactly* the *whole* message.

For example, if you only want to ignore the new distutils deprecation warning, 
you must write exactly:

$ ./python -X dev -W 'ignore:The distutils package is deprecated and slated for 
removal in Python 3.12. Use setuptools or check PEP 632 for potential 
alternatives:DeprecationWarning' -c 'import distutils'

I use -X dev to show DeprecationWarning, or you can also use -Wdefault if you 
prefer.

If the deprecation warning changes in Python or if you have a single typo, the 
warning is not ignored. Example with a typo ("3.13" rather than "3.12"):

$ ./python -X dev -W 'ignore:The distutils package is deprecated and slated for 
removal in Python 3.13. Use setuptools or check PEP 632 for potential 
alternatives:DeprecationWarning' -c 'import distutils'
:1: DeprecationWarning: The distutils package is deprecated and slated 
for removal in Python 3.12. Use setuptools or check PEP 632 for potential 
alternatives

The PYTHONWARNINGS has another limitation: you cannot specify a message if it 
contains a comma (","). Hopefully, Python doesn't raise warnings containing 
comma, right? Well... Just one example:

Lib/distutils/sysconfig.py:554:        warnings.warn('SO is deprecated, use 
EXT_SUFFIX', DeprecationWarning, 2)

You cannot only ignore the message:

$ PYTHONWARNINGS='ignore:SO is deprecated, use EXT_SUFFIX:DeprecationWarning' 
./python -c 'import sys; print(sys.warnoptions); print(len(sys.warnoptions))'
Invalid -W option ignored: invalid action: 'use EXT_SUFFIX'
['ignore:SO is deprecated', ' use EXT_SUFFIX:DeprecationWarning']
2

You can only try to use "module" and "lineno" parameters of a warning filter, 
which are more fragile and hard to use to use.

--
components: Library (Lib)
messages: 391190
nosy: vstinner
priority: normal
severity: normal
status: open
title: warnings: -W option and PYTHONWARNINGS now use the message as a regex
versions: Python 3.10

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com