mirror of
https://github.com/python/cpython.git
synced 2025-08-09 19:38:42 +00:00
[3.12] gh-103186: Fix or catch 'extra' stderr output from unittests (GH-103196) (#106605)
gh-103186: Fix or catch 'extra' stderr output from unittests (GH-103196)
Reduce test noise by fixing or catching and testing stderr messages from individual tests.
test_cmd_line_script.test_script_as_dev_fd calls spawn_python and hence subprocess.Popen with incompatible arguments. On POSIX, pass_fds forces close_fds to be True (subprocess.py line 848). Correct the call.
test_uuid.test_cli_namespace_required_for_uuid3: when the namespace is omitted, uuid.main calls argparse.Argument_Parser.error, which prints to stderr before calling sys.exit, which raises SystemExit. Unittest assertRaises catches the exception but not the previous output. Catch the output and test it.
test_warnings.test_catchwarnings_with_simplefilter_error similarly prints before raising. Catch the output and test it.
---------
(cherry picked from commit 9d582250d8
)
Co-authored-by: Ijtaba Hussain <ijtabahussain@live.com>
Co-authored-by: Oleg Iarygin <oleg@arhadthedev.net>
This commit is contained in:
parent
2da967ea14
commit
68ca19061d
3 changed files with 14 additions and 7 deletions
|
@ -777,7 +777,7 @@ class CmdLineTest(unittest.TestCase):
|
|||
with os_helper.temp_dir() as work_dir:
|
||||
script_name = _make_test_script(work_dir, 'script.py', script)
|
||||
with open(script_name, "r") as fp:
|
||||
p = spawn_python(f"/dev/fd/{fp.fileno()}", close_fds=False, pass_fds=(0,1,2,fp.fileno()))
|
||||
p = spawn_python(f"/dev/fd/{fp.fileno()}", close_fds=True, pass_fds=(0,1,2,fp.fileno()))
|
||||
out, err = p.communicate()
|
||||
self.assertEqual(out, b"12345678912345678912345\n")
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue