Repository navigation
Regression tests pass but return unnecessary output (errors and warnings) #103186
Copy link
Copy link
Closed
Labels
testsTests in the Lib/test dirTests in the Lib/test dirtype-bugAn unexpected behavior, bug, or errorAn unexpected behavior, bug, or error
Description
Just built python for the first time using the devguide and I noticed some (deprecation) warnings and errors in the regression tests, even though all the tests (that ran) passed.
/opt/python/cpython/Lib/subprocess.py:849: RuntimeWarning: pass_fds overriding close_fds.
warnings.warn("pass_fds overriding close_fds.", RuntimeWarning)
/opt/python/cpython/Lib/http/server.py:1168: DeprecationWarning: This process (pid=55357) is multi-threaded, use of fork() may lead to deadlocks in the child.
/opt/python/cpython/Lib/multiprocessing/popen_fork.py:66: DeprecationWarning: This process (pid=52754) is multi-threaded, use of fork() may lead to deadlocks in the child.
0:07:26 load avg: 8.24 [216/433] test_mailcap passed -- running: test_gdb (2 min 45 sec)
/opt/python/cpython/Lib/mailcap.py:228: UnsafeMailcapInput: Refusing to substitute MIME type 'audio/*' into a shell command.
warnings.warn(msg, UnsafeMailcapInput)
/opt/python/cpython/Lib/mailcap.py:228: UnsafeMailcapInput: Refusing to substitute MIME type 'audio/*' into a shell command.
warnings.warn(msg, UnsafeMailcapInput)
/opt/python/cpython/Lib/multiprocessing/popen_fork.py:66: DeprecationWarning: This process (pid=59900) is multi-threaded, use of fork() may lead to deadlocks in the child.
/opt/python/cpython/Lib/multiprocessing/popen_fork.py:66: DeprecationWarning: This process (pid=59550) is multi-threaded, use of fork() may lead to deadlocks in the child.
/opt/python/cpython/Lib/multiprocessing/popen_fork.py:66: DeprecationWarning: This process (pid=62788) is multi-threaded, use of fork() may lead to deadlocks in the child.
/opt/python/cpython/Lib/multiprocessing/popen_fork.py:66: DeprecationWarning: This process (pid=59550) is multi-threaded, use of fork() may lead to deadlocks in the child.
/opt/python/cpython/Lib/test/test_sys_settrace.py:1771: RuntimeWarning: assigning None to 1 unbound local
/opt/python/cpython/Lib/test/test_sys_settrace.py:1771: RuntimeWarning: assigning None to 2 unbound locals
: error: Incorrect number of arguments. uuid3 requires a namespace and a name. Run 'python -m uuid -h' for more information.
: error: Incorrect number of arguments. uuid3 requires a namespace and a name. Run 'python -m uuid -h' for more information.
: error: Incorrect number of arguments. uuid3 requires a namespace and a name. Run 'python -m uuid -h' for more information.
: error: Incorrect number of arguments. uuid3 requires a namespace and a name. Run 'python -m uuid -h' for more information.
0:16:23 load avg: 3.94 [405/433] test_warnings passed -- running: test_tools (59.0 sec)
/opt/python/cpython/Lib/test/test_warnings/__init__.py:390: UserWarning: Other types of warnings are not errors
self.module.warn("Other types of warnings are not errors")
/opt/python/cpython/Lib/test/test_warnings/__init__.py:390: UserWarning: Other types of warnings are not errors
self.module.warn("Other types of warnings are not errors")
/opt/python/cpython/Lib/test/test_xxtestfuzz.py:13: DeprecationWarning: module 'sre_compile' is deprecated
/opt/python/cpython/Lib/test/test_xxtestfuzz.py:13: DeprecationWarning: module 'sre_constants' is deprecated
CalledProcessError: Command '['/tmp/test_python_9xherg3o/tmpbgbtwgi2/cpython/python', '-c', 'import sysconfig; print(sysconfig.get_config_var("CONFIG_ARGS"))']' returned non-zero exit status 1.
ModuleNotFoundError: No module named '_sysconfigdata_d_linux_x86_64-linux-gnu'
Will attempt to investigate and patch these where appropriate.
Raising this issue as a base for my first pull request.
Any feedback is welcome!
Linked PRs
- gh-103186: Fix or catch 'extra' stderr output from unittests #103196
- gh-103186: In test_tools.freeze, fetch CONFIG_ARGS from original source directory #103213
- gh-103186: assert in tests that UnsafeMailcapInput warnings are provided #103217
- gh-103186: Suppress and assert expected RuntimeWarnings #103244
- [3.12] gh-103186: Fix or catch 'extra' stderr output from unittests (GH-103196) #106605
- [3.11] gh-103186: Fix or catch 'extra' stderr output from unittests (#103196) #106606
- [3.12] gh-103186: In test_tools.freeze, fetch CONFIG_ARGS from original source directory (GH-103213) #106667
- [3.11] gh-103186: assert in tests that UnsafeMailcapInput warnings are provided (GH-103217) #108800
- [3.12] gh-103186: Suppress and assert expected RuntimeWarnings in test_sys_settrace (GH-103244) #109066
- gh-103186: Suppress RuntimeWarning about unclosed async iterator in test_sys_settrace #109075
- gh-103186: Remove debug print in test_sys_settrace #109077
- [3.12] gh-103186: Remove debug print in test_sys_settrace (GH-109077) #109084
- [3.11] gh-103186: Remove debug print in test_sys_settrace (GH-109077) #109085
- [3.11] gh-103186: Suppress RuntimeWarning about unclosed async iterator in test_sys_settrace (GH-109075) #109086
- gh-103186: Make test_generated_cases less noisy by default #109100
- [3.12] gh-103186: Suppress RuntimeWarning about unclosed async iterator in test_sys_settrace (GH-109075) #109138
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
testsTests in the Lib/test dirTests in the Lib/test dirtype-bugAn unexpected behavior, bug, or errorAn unexpected behavior, bug, or error
Activity
TabLand commentedon Apr 2, 2023
First challenge, how do I assign this issue to myself?
=D
[-]Regression tests pass but return noisy output full of errors and warnings[/-][+]Regression tests pass but return unnecessary output (errors and warnings)[/+]arhadthedev commentedon Apr 2, 2023
It's an open project, no preliminary assignment is required.
TabLand commentedon Apr 2, 2023
test.log
terryjreedy commentedon Apr 2, 2023
Thank you for tackling this. Multiple PRs for one issue are allowed and for this issue I would encourage them -- even one for each test file or directory. The commit message, fix strategy and difficulty, possible controversy, reviewer/committers, and backports might vary for each.
TabLand commentedon Apr 2, 2023
Thanks Terry,
I've managed to find fixes for some of the tests - will raise a few PR's shortly.
Some tests (especially test_sys_settrace - RuntimeWarning: unbound locals ) have been fairly difficult to trace so far.
I'll leave the deprecation warnings for the end; interestingly it's not immediately clear whether newer replacement code exists for all deprecated classes / methods / functions (e.g sre_compile / sre_constants)
TabLand commentedon Apr 3, 2023
I've made some progress in tracing this error under test_tools.test_freeze_simple_script:
This is caused by the following file being unavailable in the intermediate build, despite being copied:
/opt/python/test/cpython/build/lib.linux-x86_64-3.12-pydebug/_sysconfigdata_d_linux_x86_64-linux-gnu.pyLooks like a timing issue in
Tools/freeze/test/freeze.pywheremake cleanis called before theCONFIG_ARGSlookup against the intermediate frozen build - it looks like this lookup depends on the build being complete. Will prep a change for this shortly (fetch this info from the original instead of the intermediate build)arhadthedev commentedon Apr 6, 2023
Closing as a duplicate of (now fixed) gh-102151.
arhadthedev commentedon Apr 6, 2023
Reopening because I didn't notice there are three more attached PRs.
gh-103186: assert in tests that UnsafeMailcapInput warnings are provi…
17 remaining items
pythongh-103186: Remove debug print in test_sys_settrace (pythonGH-10…
gh-103186: Suppress RuntimeWarning about unclosed async iterator in t…
[3.11] pythongh-103186: Suppress RuntimeWarning about unclosed async …
[3.11] gh-103186: Remove debug print in test_sys_settrace (GH-109077) (…
[3.11] gh-103186: Suppress RuntimeWarning about unclosed async iterat…
serhiy-storchaka commentedon Sep 7, 2023
Opened separate issues #109096 (non-trivial, needs discussion) and #109098 (may be easy, but may need familiarity with the subject).
TabLand commentedon Sep 7, 2023
Thank you for sharing!
I'll try and have a brief look into these...
pythongh-103186: Make test_generated_cases less noisy by default
gh-103186: Make test_generated_cases less noisy by default (GH-109100)
[3.12] gh-103186: Suppress and assert expected RuntimeWarnings in tes…
[3.12] gh-103186: Remove debug print in test_sys_settrace (GH-109077) (…
pythongh-103186: Suppress RuntimeWarning about unclosed async iterato…
[3.12] gh-103186: Suppress RuntimeWarning about unclosed async iterat…
TabLand commentedon Oct 3, 2023
Hi Team,
It's probably safe to close this issue as all the original warnings no longer appear in the latest build.
However, there are some new warnings I've seen in the latest build, will log a new issue to track and tackle them.