[New-bugs-announce] [issue26742] imports in test_warnings changes warnings.filters

STINNER Victor report at bugs.python.org
Tue Apr 12 20:51:35 EDT 2016

New submission from STINNER Victor:

$ ./python -Wd -m test -j0 test_warnings
Run tests in parallel using 6 child processes
0:00:01 [1/1] test_warnings
Warning -- warnings.filters was modified by test_warnings
1 test altered the execution environment:
Total duration: 0:00:02

The problem are these two lines in test_warnings/__init__.py:
py_warnings = support.import_fresh_module('warnings', blocked=['_warnings'])
c_warnings = support.import_fresh_module('warnings', fresh=['_warnings'])

Each fresh "import warnings" calls _processoptions(sys.warnoptions) which can change warning filters.

Attached patch saves/restores warnings.filter to fix the resource warning from the test suite.

Note: the warning is not emited if tests are run sequentially (without the -jN option).

files: test_warnings.patch
keywords: patch
messages: 263291
nosy: haypo
priority: normal
severity: normal
status: open
title: imports in test_warnings changes warnings.filters
versions: Python 3.5, Python 3.6
Added file: http://bugs.python.org/file42449/test_warnings.patch

Python tracker <report at bugs.python.org>

More information about the New-bugs-announce mailing list