From: Martin Panter Date: Sat, 16 Jan 2016 05:07:35 +0000 (+0000) Subject: Issue #14771: Redirect GDB's stdin to avoid messing the terminal settings X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=2179b2e15968df087d81d57ed806dcfe6140b843;p=python Issue #14771: Redirect GDB's stdin to avoid messing the terminal settings Otherwise, GDB seems to affect the terminal's foreground process group, interfering with test_ioctl, which does not expect the foreground process to change during the test. This change also solves the problem of the tests being stopped in the shell if test_gdb is run twice in parallel. --- diff --git a/Lib/test/test_gdb.py b/Lib/test/test_gdb.py index 8a56118f96..f157eaeba0 100644 --- a/Lib/test/test_gdb.py +++ b/Lib/test/test_gdb.py @@ -71,6 +71,8 @@ def run_gdb(*args, **env_vars): if (gdb_major_version, gdb_minor_version) >= (7, 4): base_cmd += ('-iex', 'add-auto-load-safe-path ' + checkout_hook_path) out, err = subprocess.Popen(base_cmd + args, + # Redirect stdin to prevent GDB from messing with terminal settings + stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE, env=env, ).communicate() return out, err