Mailing List Archive

bpo-41818: Fix test_master_read() so that it succeeds on all platforms that either raise OSError or return b"" upon reading from master (GH-23536)
https://github.com/python/cpython/commit/74311aeb45b52cc145d27d9fca99f01874d6882d
commit: 74311aeb45b52cc145d27d9fca99f01874d6882d
branch: master
author: Soumendra Ganguly <67527439+8vasu@users.noreply.github.com>
committer: asvetlov <andrew.svetlov@gmail.com>
date: 2020-11-28T23:04:20+02:00
summary:

bpo-41818: Fix test_master_read() so that it succeeds on all platforms that either raise OSError or return b"" upon reading from master (GH-23536)

Signed-off-by: Soumendra Ganguly <soumendraganguly@gmail.com>

files:
A Misc/NEWS.d/next/Library/2020-11-28-06-34-53.bpo-41818.mFSMc2.rst
M Lib/test/test_pty.py

diff --git a/Lib/test/test_pty.py b/Lib/test/test_pty.py
index a45be284a9544..190d8d787a2cc 100644
--- a/Lib/test/test_pty.py
+++ b/Lib/test/test_pty.py
@@ -17,7 +17,6 @@
import struct
import tty
import fcntl
-import platform
import warnings

TEST_STRING_1 = b"I wish to buy a fish license.\n"
@@ -82,12 +81,6 @@ def expectedFailureIfStdinIsTTY(fun):
pass
return fun

-def expectedFailureOnBSD(fun):
- PLATFORM = platform.system()
- if PLATFORM.endswith("BSD") or PLATFORM == "Darwin":
- return unittest.expectedFailure(fun)
- return fun
-
def _get_term_winsz(fd):
s = struct.pack("HHHH", 0, 0, 0, 0)
return fcntl.ioctl(fd, _TIOCGWINSZ, s)
@@ -314,7 +307,6 @@ def test_fork(self):

os.close(master_fd)

- @expectedFailureOnBSD
def test_master_read(self):
debug("Calling pty.openpty()")
master_fd, slave_fd = pty.openpty()
@@ -324,10 +316,13 @@ def test_master_read(self):
os.close(slave_fd)

debug("Reading from master_fd")
- with self.assertRaises(OSError):
- os.read(master_fd, 1)
+ try:
+ data = os.read(master_fd, 1)
+ except OSError: # Linux
+ data = b""

os.close(master_fd)
+ self.assertEqual(data, b"")

class SmallPtyTests(unittest.TestCase):
"""These tests don't spawn children or hang."""
diff --git a/Misc/NEWS.d/next/Library/2020-11-28-06-34-53.bpo-41818.mFSMc2.rst b/Misc/NEWS.d/next/Library/2020-11-28-06-34-53.bpo-41818.mFSMc2.rst
new file mode 100644
index 0000000000000..b783f8cec1c94
--- /dev/null
+++ b/Misc/NEWS.d/next/Library/2020-11-28-06-34-53.bpo-41818.mFSMc2.rst
@@ -0,0 +1 @@
+Fix test_master_read() so that it succeeds on all platforms that either raise OSError or return b"" upon reading from master.
\ No newline at end of file

_______________________________________________
Python-checkins mailing list
Python-checkins@python.org
https://mail.python.org/mailman/listinfo/python-checkins