summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_pty.py
diff options
context:
space:
mode:
authorVictor Stinner <vstinner@python.org>2020-04-02 22:40:25 (GMT)
committerGitHub <noreply@github.com>2020-04-02 22:40:25 (GMT)
commit7a51a7e19f0143f75f8fc9ff68f93ed40937aec6 (patch)
treea716f19384fc31145ea61fb5579b4774d873d2d2 /Lib/test/test_pty.py
parent3c3aa4516c70753de06bb142b6793d01330fcf0f (diff)
downloadcpython-7a51a7e19f0143f75f8fc9ff68f93ed40937aec6.zip
cpython-7a51a7e19f0143f75f8fc9ff68f93ed40937aec6.tar.gz
cpython-7a51a7e19f0143f75f8fc9ff68f93ed40937aec6.tar.bz2
bpo-40140: test_builtin.PtyTests registers SIGHUP handler (GH-19314)
test_builtin.PtyTests now registers an handler for SIGHUP signal. Closing the PTY file descriptor can emit a SIGHUP signal: just ignore it. run_child() now also closes the PTY file descriptor before waiting for the process completition, otherwise the test hangs on AIX.
Diffstat (limited to 'Lib/test/test_pty.py')
-rw-r--r--Lib/test/test_pty.py6
1 files changed, 3 insertions, 3 deletions
diff --git a/Lib/test/test_pty.py b/Lib/test/test_pty.py
index aa5c687..9c32467 100644
--- a/Lib/test/test_pty.py
+++ b/Lib/test/test_pty.py
@@ -70,7 +70,7 @@ class PtyTest(unittest.TestCase):
self.addCleanup(signal.signal, signal.SIGALRM, old_alarm)
old_sighup = signal.signal(signal.SIGHUP, self.handle_sighup)
- self.addCleanup(signal.signal, signal.SIGHUP, old_alarm)
+ self.addCleanup(signal.signal, signal.SIGHUP, old_sighup)
# isatty() and close() can hang on some platforms. Set an alarm
# before running the test to make sure we don't hang forever.
@@ -81,8 +81,8 @@ class PtyTest(unittest.TestCase):
self.fail("isatty hung")
@staticmethod
- def handle_sighup(sig, frame):
- # if the process is the session leader, os.close(master_fd)
+ def handle_sighup(signum, frame):
+ # bpo-38547: if the process is the session leader, os.close(master_fd)
# of "master_fd, slave_name = pty.master_open()" raises SIGHUP
# signal: just ignore the signal.
pass