Issue 32088: Display DeprecationWarning, PendingDeprecationWarning and ImportWarning in debug mode (original) (raw)

Warnings filters in debug mode.

Reference (current code):

$ ./python -c 'import warnings, pprint; pprint.pprint(warnings.filters)' [('ignore', None, <class 'DeprecationWarning'>, None, 0), ('ignore', None, <class 'PendingDeprecationWarning'>, None, 0), ('ignore', None, <class 'ImportWarning'>, None, 0), ('ignore', None, <class 'BytesWarning'>, None, 0), ('always', None, <class 'ResourceWarning'>, None, 0)]

With my PR 4474:

$ ./python -c 'import warnings, pprint; pprint.pprint(warnings.filters)' [('ignore', None, <class 'BytesWarning'>, None, 0), ('always', None, <class 'ResourceWarning'>, None, 0)]

BytesWarning is not modified by my PR since this specific warning is controlled by the -b option. Example with my PR.

-b option, ignore => default:

$ ./python -b -c 'import warnings, pprint; pprint.pprint(warnings.filters)' [('default', None, <class 'BytesWarning'>, None, 0), ('always', None, <class 'ResourceWarning'>, None, 0)]

-bb option, ignore => error:

$ ./python -bb -c 'import warnings, pprint; pprint.pprint(warnings.filters)' [('error', None, <class 'BytesWarning'>, None, 0), ('always', None, <class 'ResourceWarning'>, None, 0)]

Note: While writing this comment, I also found a bug in the new developer mode (-X dev): bpo-32089.