import struct
import tty
import fcntl
-import platform
import warnings
TEST_STRING_1 = b"I wish to buy a fish license.\n"
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)
os.close(master_fd)
- @expectedFailureOnBSD
def test_master_read(self):
debug("Calling pty.openpty()")
master_fd, slave_fd = pty.openpty()
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."""