Ned Batchelder added the comment: I doubt very very much that coverage.py is stealing stderr. Many many test suites would have this problem if that were true. More likely is that somehow __del__ is not being invoked when you need it to be.
I tried running the tests under coverage also, and did not see this behavior. I don't have a build tree of the latest code, but I ran it on 3.6.0. The tests passed both with and without coverage measurement (output below). I would like to understand why you are seeing the results you are. $ mkvirtualenv -p python3.6 issue29048 Running virtualenv with interpreter /usr/local/bin/python3.6 Using base prefix '/usr/local/pythonz/pythons/CPython-3.6.0' New python executable in issue29048/bin/python3.6 Also creating executable in issue29048/bin/python Installing setuptools, pip, wheel...done. Collecting pip Using cached pip-9.0.1-py2.py3-none-any.whl Collecting setuptools Using cached setuptools-32.2.0-py2.py3-none-any.whl Installing collected packages: pip, setuptools Found existing installation: pip 7.1.2 Uninstalling pip-7.1.2: Successfully uninstalled pip-7.1.2 Found existing installation: setuptools 18.2 Uninstalling setuptools-18.2: Successfully uninstalled setuptools-18.2 Successfully installed pip-9.0.1 setuptools-32.2.0 (issue29048)$ pip install coverage Collecting coverage Installing collected packages: coverage Successfully installed coverage-4.2 (issue29048)$ python3.6 -m test -v test_exceptions == CPython 3.6.0 (default, Dec 23 2016, 07:11:25) [GCC 4.2.1 Compatible Apple LLVM 7.0.2 (clang-700.1.81)] == Darwin-14.5.0-x86_64-i386-64bit little-endian == hash algorithm: siphash24 64bit == cwd: /private/var/folders/j2/gr3cj3jn63s5q8g3bjvw57hm0000gp/T/test_python_20266 == encodings: locale=UTF-8, FS=utf-8 Testing with flags: sys.flags(debug=0, inspect=0, interactive=0, optimize=0, dont_write_bytecode=0, no_user_site=0, no_site=0, ignore_environment=0, verbose=0, bytes_warning=0, quiet=0, hash_randomization=1, isolated=0) Run tests sequentially 0:00:00 [1/1] test_exceptions testAttributes (test.test_exceptions.ExceptionTests) ... ok testChainingAttrs (test.test_exceptions.ExceptionTests) ... ok testChainingDescriptors (test.test_exceptions.ExceptionTests) ... ok testExceptionCleanupNames (test.test_exceptions.ExceptionTests) ... ok testExceptionCleanupState (test.test_exceptions.ExceptionTests) ... ok testInfiniteRecursion (test.test_exceptions.ExceptionTests) ... ok testInvalidAttrs (test.test_exceptions.ExceptionTests) ... ok testInvalidTraceback (test.test_exceptions.ExceptionTests) ... ok testKeywordArgs (test.test_exceptions.ExceptionTests) ... ok testNoneClearsTracebackAttr (test.test_exceptions.ExceptionTests) ... ok testRaising (test.test_exceptions.ExceptionTests) ... ok testSettingException (test.test_exceptions.ExceptionTests) ... ok testSyntaxErrorMessage (test.test_exceptions.ExceptionTests) ... ok testSyntaxErrorOffset (test.test_exceptions.ExceptionTests) ... ok testWithTraceback (test.test_exceptions.ExceptionTests) ... ok test_3114 (test.test_exceptions.ExceptionTests) ... ok test_MemoryError (test.test_exceptions.ExceptionTests) ... ok test_WindowsError (test.test_exceptions.ExceptionTests) ... ok test_badisinstance (test.test_exceptions.ExceptionTests) ... ok test_errno_ENOTDIR (test.test_exceptions.ExceptionTests) ... ok test_exception_target_in_nested_scope (test.test_exceptions.ExceptionTests) ... ok test_exception_with_doc (test.test_exceptions.ExceptionTests) ... ok test_generator_close_cleanup_exc_state (test.test_exceptions.ExceptionTests) ... ok test_generator_del_cleanup_exc_state (test.test_exceptions.ExceptionTests) ... ok test_generator_doesnt_retain_old_exc (test.test_exceptions.ExceptionTests) ... ok test_generator_finalizing_and_exc_info (test.test_exceptions.ExceptionTests) ... ok test_generator_leaking (test.test_exceptions.ExceptionTests) ... ok test_generator_leaking2 (test.test_exceptions.ExceptionTests) ... ok test_generator_leaking3 (test.test_exceptions.ExceptionTests) ... ok test_generator_leaking4 (test.test_exceptions.ExceptionTests) ... ok test_generator_next_cleanup_exc_state (test.test_exceptions.ExceptionTests) ... ok test_generator_send_cleanup_exc_state (test.test_exceptions.ExceptionTests) ... ok test_generator_throw_cleanup_exc_state (test.test_exceptions.ExceptionTests) ... ok test_memory_error_cleanup (test.test_exceptions.ExceptionTests) ... ok test_recursion_error_cleanup (test.test_exceptions.ExceptionTests) ... ok test_str (test.test_exceptions.ExceptionTests) ... ok test_unhandled (test.test_exceptions.ExceptionTests) ... ok test_unicode_change_attributes (test.test_exceptions.ExceptionTests) ... ok test_unicode_errors_no_object (test.test_exceptions.ExceptionTests) ... ok test_unraisable (test.test_exceptions.ExceptionTests) ... ok test_windows_message (test.test_exceptions.ExceptionTests) Should fill in unknown error code in Windows error message ... skipped 'test specific to Windows' test_attributes (test.test_exceptions.ImportErrorTests) ... ok test_non_str_argument (test.test_exceptions.ImportErrorTests) ... ok ---------------------------------------------------------------------- Ran 43 tests in 0.027s OK (skipped=1) 1 test OK. Total duration: 64 ms Tests result: SUCCESS (issue29048)$ python -m coverage run --pylib -m test -v test_exceptions == CPython 3.6.0 (default, Dec 23 2016, 07:11:25) [GCC 4.2.1 Compatible Apple LLVM 7.0.2 (clang-700.1.81)] == Darwin-14.5.0-x86_64-i386-64bit little-endian == hash algorithm: siphash24 64bit == cwd: /private/var/folders/j2/gr3cj3jn63s5q8g3bjvw57hm0000gp/T/test_python_20270 == encodings: locale=UTF-8, FS=utf-8 Testing with flags: sys.flags(debug=0, inspect=0, interactive=0, optimize=0, dont_write_bytecode=0, no_user_site=0, no_site=0, ignore_environment=0, verbose=0, bytes_warning=0, quiet=0, hash_randomization=1, isolated=0) Run tests sequentially 0:00:00 [1/1] test_exceptions testAttributes (test.test_exceptions.ExceptionTests) ... ok testChainingAttrs (test.test_exceptions.ExceptionTests) ... ok testChainingDescriptors (test.test_exceptions.ExceptionTests) ... ok testExceptionCleanupNames (test.test_exceptions.ExceptionTests) ... ok testExceptionCleanupState (test.test_exceptions.ExceptionTests) ... ok testInfiniteRecursion (test.test_exceptions.ExceptionTests) ... ok testInvalidAttrs (test.test_exceptions.ExceptionTests) ... ok testInvalidTraceback (test.test_exceptions.ExceptionTests) ... ok testKeywordArgs (test.test_exceptions.ExceptionTests) ... ok testNoneClearsTracebackAttr (test.test_exceptions.ExceptionTests) ... ok testRaising (test.test_exceptions.ExceptionTests) ... ok testSettingException (test.test_exceptions.ExceptionTests) ... ok testSyntaxErrorMessage (test.test_exceptions.ExceptionTests) ... ok testSyntaxErrorOffset (test.test_exceptions.ExceptionTests) ... ok testWithTraceback (test.test_exceptions.ExceptionTests) ... ok test_3114 (test.test_exceptions.ExceptionTests) ... ok test_MemoryError (test.test_exceptions.ExceptionTests) ... ok test_WindowsError (test.test_exceptions.ExceptionTests) ... ok test_badisinstance (test.test_exceptions.ExceptionTests) ... ok test_errno_ENOTDIR (test.test_exceptions.ExceptionTests) ... ok test_exception_target_in_nested_scope (test.test_exceptions.ExceptionTests) ... ok test_exception_with_doc (test.test_exceptions.ExceptionTests) ... ok test_generator_close_cleanup_exc_state (test.test_exceptions.ExceptionTests) ... ok test_generator_del_cleanup_exc_state (test.test_exceptions.ExceptionTests) ... ok test_generator_doesnt_retain_old_exc (test.test_exceptions.ExceptionTests) ... ok test_generator_finalizing_and_exc_info (test.test_exceptions.ExceptionTests) ... ok test_generator_leaking (test.test_exceptions.ExceptionTests) ... ok test_generator_leaking2 (test.test_exceptions.ExceptionTests) ... ok test_generator_leaking3 (test.test_exceptions.ExceptionTests) ... ok test_generator_leaking4 (test.test_exceptions.ExceptionTests) ... ok test_generator_next_cleanup_exc_state (test.test_exceptions.ExceptionTests) ... ok test_generator_send_cleanup_exc_state (test.test_exceptions.ExceptionTests) ... ok test_generator_throw_cleanup_exc_state (test.test_exceptions.ExceptionTests) ... ok test_memory_error_cleanup (test.test_exceptions.ExceptionTests) ... ok test_recursion_error_cleanup (test.test_exceptions.ExceptionTests) ... ok test_str (test.test_exceptions.ExceptionTests) ... ok test_unhandled (test.test_exceptions.ExceptionTests) ... ok test_unicode_change_attributes (test.test_exceptions.ExceptionTests) ... ok test_unicode_errors_no_object (test.test_exceptions.ExceptionTests) ... ok test_unraisable (test.test_exceptions.ExceptionTests) ... ok test_windows_message (test.test_exceptions.ExceptionTests) Should fill in unknown error code in Windows error message ... skipped 'test specific to Windows' test_attributes (test.test_exceptions.ImportErrorTests) ... ok test_non_str_argument (test.test_exceptions.ImportErrorTests) ... ok ---------------------------------------------------------------------- Ran 43 tests in 0.036s OK (skipped=1) 1 test OK. Total duration: 95 ms Tests result: SUCCESS (issue29048)$ python -m coverage report Name Stmts Miss Cover -------------------------------------------------------------------------------------------------------------- /usr/local/pythonz/pythons/CPython-3.6.0/lib/python3.6/_bootlocale.py 17 13 24% /usr/local/pythonz/pythons/CPython-3.6.0/lib/python3.6/_collections_abc.py 562 546 3% /usr/local/pythonz/pythons/CPython-3.6.0/lib/python3.6/_osx_support.py 210 161 23% /usr/local/pythonz/pythons/CPython-3.6.0/lib/python3.6/_sysconfigdata_m_darwin_darwin.py 1 0 100% /usr/local/pythonz/pythons/CPython-3.6.0/lib/python3.6/_weakrefset.py 146 109 25% /usr/local/pythonz/pythons/CPython-3.6.0/lib/python3.6/abc.py 92 65 29% /usr/local/pythonz/pythons/CPython-3.6.0/lib/python3.6/argparse.py 1187 757 36% /usr/local/pythonz/pythons/CPython-3.6.0/lib/python3.6/base64.py 315 268 15% /usr/local/pythonz/pythons/CPython-3.6.0/lib/python3.6/codecs.py 398 377 5% /usr/local/pythonz/pythons/CPython-3.6.0/lib/python3.6/collections/__init__.py 677 650 4% /usr/local/pythonz/pythons/CPython-3.6.0/lib/python3.6/contextlib.py 163 140 14% /usr/local/pythonz/pythons/CPython-3.6.0/lib/python3.6/difflib.py 669 606 9% /usr/local/pythonz/pythons/CPython-3.6.0/lib/python3.6/email/__init__.py 14 8 43% /usr/local/pythonz/pythons/CPython-3.6.0/lib/python3.6/email/base64mime.py 40 26 35% /usr/local/pythonz/pythons/CPython-3.6.0/lib/python3.6/email/charset.py 122 78 36% /usr/local/pythonz/pythons/CPython-3.6.0/lib/python3.6/email/encoders.py 28 19 32% /usr/local/pythonz/pythons/CPython-3.6.0/lib/python3.6/email/errors.py 37 7 81% /usr/local/pythonz/pythons/CPython-3.6.0/lib/python3.6/email/header.py 310 258 17% /usr/local/pythonz/pythons/CPython-3.6.0/lib/python3.6/email/quoprimime.py 115 83 28% /usr/local/pythonz/pythons/CPython-3.6.0/lib/python3.6/encodings/__init__.py 76 43 43% /usr/local/pythonz/pythons/CPython-3.6.0/lib/python3.6/encodings/latin_1.py 19 18 5% /usr/local/pythonz/pythons/CPython-3.6.0/lib/python3.6/enum.py 438 248 43% /usr/local/pythonz/pythons/CPython-3.6.0/lib/python3.6/functools.py 443 421 5% /usr/local/pythonz/pythons/CPython-3.6.0/lib/python3.6/genericpath.py 72 50 31% /usr/local/pythonz/pythons/CPython-3.6.0/lib/python3.6/gettext.py 389 323 17% /usr/local/pythonz/pythons/CPython-3.6.0/lib/python3.6/gzip.py 349 298 15% /usr/local/pythonz/pythons/CPython-3.6.0/lib/python3.6/importlib/__init__.py 99 96 3% /usr/local/pythonz/pythons/CPython-3.6.0/lib/python3.6/importlib/_bootstrap.py 631 445 29% /usr/local/pythonz/pythons/CPython-3.6.0/lib/python3.6/importlib/_bootstrap_external.py 711 528 26% /usr/local/pythonz/pythons/CPython-3.6.0/lib/python3.6/importlib/util.py 147 140 5% /usr/local/pythonz/pythons/CPython-3.6.0/lib/python3.6/ipaddress.py 904 597 34% /usr/local/pythonz/pythons/CPython-3.6.0/lib/python3.6/linecache.py 102 55 46% /usr/local/pythonz/pythons/CPython-3.6.0/lib/python3.6/locale.py 399 357 11% /usr/local/pythonz/pythons/CPython-3.6.0/lib/python3.6/logging/__init__.py 769 521 32% /usr/local/pythonz/pythons/CPython-3.6.0/lib/python3.6/logging/handlers.py 663 534 19% /usr/local/pythonz/pythons/CPython-3.6.0/lib/python3.6/lzma.py 135 130 4% /usr/local/pythonz/pythons/CPython-3.6.0/lib/python3.6/multiprocessing/process.py 163 162 1% /usr/local/pythonz/pythons/CPython-3.6.0/lib/python3.6/nntplib.py 559 457 18% /usr/local/pythonz/pythons/CPython-3.6.0/lib/python3.6/os.py 536 489 9% /usr/local/pythonz/pythons/CPython-3.6.0/lib/python3.6/platform.py 580 466 20% /usr/local/pythonz/pythons/CPython-3.6.0/lib/python3.6/posixpath.py 320 222 31% /usr/local/pythonz/pythons/CPython-3.6.0/lib/python3.6/pprint.py 419 351 16% /usr/local/pythonz/pythons/CPython-3.6.0/lib/python3.6/queue.py 111 76 32% /usr/local/pythonz/pythons/CPython-3.6.0/lib/python3.6/quopri.py 168 150 11% /usr/local/pythonz/pythons/CPython-3.6.0/lib/python3.6/random.py 346 329 5% /usr/local/pythonz/pythons/CPython-3.6.0/lib/python3.6/re.py 153 125 18% /usr/local/pythonz/pythons/CPython-3.6.0/lib/python3.6/shutil.py 619 600 3% /usr/local/pythonz/pythons/CPython-3.6.0/lib/python3.6/socket.py 403 396 2% /usr/local/pythonz/pythons/CPython-3.6.0/lib/python3.6/sre_compile.py 401 151 62% /usr/local/pythonz/pythons/CPython-3.6.0/lib/python3.6/sre_parse.py 758 460 39% /usr/local/pythonz/pythons/CPython-3.6.0/lib/python3.6/ssl.py 571 426 25% /usr/local/pythonz/pythons/CPython-3.6.0/lib/python3.6/string.py 153 114 25% /usr/local/pythonz/pythons/CPython-3.6.0/lib/python3.6/subprocess.py 794 671 15% /usr/local/pythonz/pythons/CPython-3.6.0/lib/python3.6/sysconfig.py 376 246 35% /usr/local/pythonz/pythons/CPython-3.6.0/lib/python3.6/tempfile.py 395 258 35% /usr/local/pythonz/pythons/CPython-3.6.0/lib/python3.6/test/__init__.py 0 0 100% /usr/local/pythonz/pythons/CPython-3.6.0/lib/python3.6/test/__main__.py 2 0 100% /usr/local/pythonz/pythons/CPython-3.6.0/lib/python3.6/test/libregrtest/__init__.py 3 0 100% /usr/local/pythonz/pythons/CPython-3.6.0/lib/python3.6/test/libregrtest/cmdline.py 127 52 59% /usr/local/pythonz/pythons/CPython-3.6.0/lib/python3.6/test/libregrtest/main.py 335 163 51% /usr/local/pythonz/pythons/CPython-3.6.0/lib/python3.6/test/libregrtest/refleak.py 186 122 34% /usr/local/pythonz/pythons/CPython-3.6.0/lib/python3.6/test/libregrtest/runtest.py 146 62 58% /usr/local/pythonz/pythons/CPython-3.6.0/lib/python3.6/test/libregrtest/save_env.py 189 68 64% /usr/local/pythonz/pythons/CPython-3.6.0/lib/python3.6/test/libregrtest/setup.py 68 21 69% /usr/local/pythonz/pythons/CPython-3.6.0/lib/python3.6/test/support/__init__.py 1289 902 30% /usr/local/pythonz/pythons/CPython-3.6.0/lib/python3.6/test/test_exceptions.py 765 93 88% /usr/local/pythonz/pythons/CPython-3.6.0/lib/python3.6/threading.py 575 572 1% /usr/local/pythonz/pythons/CPython-3.6.0/lib/python3.6/tokenize.py 473 438 7% /usr/local/pythonz/pythons/CPython-3.6.0/lib/python3.6/traceback.py 247 185 25% /usr/local/pythonz/pythons/CPython-3.6.0/lib/python3.6/types.py 155 152 2% /usr/local/pythonz/pythons/CPython-3.6.0/lib/python3.6/unittest/__init__.py 15 3 80% /usr/local/pythonz/pythons/CPython-3.6.0/lib/python3.6/unittest/case.py 753 413 45% /usr/local/pythonz/pythons/CPython-3.6.0/lib/python3.6/unittest/loader.py 295 226 23% /usr/local/pythonz/pythons/CPython-3.6.0/lib/python3.6/unittest/main.py 149 122 18% /usr/local/pythonz/pythons/CPython-3.6.0/lib/python3.6/unittest/result.py 128 66 48% /usr/local/pythonz/pythons/CPython-3.6.0/lib/python3.6/unittest/runner.py 159 51 68% /usr/local/pythonz/pythons/CPython-3.6.0/lib/python3.6/unittest/signals.py 47 33 30% /usr/local/pythonz/pythons/CPython-3.6.0/lib/python3.6/unittest/suite.py 220 81 63% /usr/local/pythonz/pythons/CPython-3.6.0/lib/python3.6/unittest/util.py 130 107 18% /usr/local/pythonz/pythons/CPython-3.6.0/lib/python3.6/urllib/__init__.py 0 0 100% /usr/local/pythonz/pythons/CPython-3.6.0/lib/python3.6/urllib/error.py 34 19 44% /usr/local/pythonz/pythons/CPython-3.6.0/lib/python3.6/urllib/response.py 43 26 40% /usr/local/pythonz/pythons/CPython-3.6.0/lib/python3.6/warnings.py 331 300 9% /usr/local/pythonz/pythons/CPython-3.6.0/lib/python3.6/weakref.py 379 342 10% -------------------------------------------------------------------------------------------------------------- TOTAL 26517 19743 26% (issue29048)$ ---------- _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue29048> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com