[Python-checkins] r54995 - python/trunk/Lib/test/test_pty.py (original) (raw)
neal.norwitz python-checkins at python.org
Fri Apr 27 08:45:37 CEST 2007
- Previous message: [Python-checkins] r54994 - peps/trunk/pep-3120.txt
- Next message: [Python-checkins] r54995 - python/trunk/Lib/test/test_pty.py
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Author: neal.norwitz Date: Fri Apr 27 08:45:32 2007 New Revision: 54995
Modified: python/trunk/Lib/test/test_pty.py Log: This gets the test working on Solaris. It seems a little hokey to me, but the test passed on Linux and Solaris, hopefully other platforms too.
Modified: python/trunk/Lib/test/test_pty.py
--- python/trunk/Lib/test/test_pty.py (original) +++ python/trunk/Lib/test/test_pty.py Fri Apr 27 08:45:32 2007 @@ -1,3 +1,5 @@ +import errno +import fcntl import pty import os import sys @@ -40,6 +42,7 @@
Marginal testing of pty suite. Cannot do extensive 'do or fail' testing
because pty code is not too portable.
+# XXX(nnorwitz): these tests leak fds when there is an error. class PtyTest(unittest.TestCase): def setUp(self): # isatty() and close() can hang on some platforms. Set an alarm @@ -70,6 +73,22 @@
self.assertTrue(os.isatty(slave_fd), 'slave_fd is not a tty')
# Solaris requires reading the fd before anything is returned.
# My guess is that since we open and close the slave fd
# in master_open(), we need to read the EOF.
# Ensure the fd is non-blocking in case there's nothing to read.
orig_flags = fcntl.fcntl(master_fd, fcntl.F_GETFL)
fcntl.fcntl(master_fd, fcntl.F_SETFL, orig_flags | os.O_NONBLOCK)
try:
s1 = os.read(master_fd, 1024)
self.assertEquals('', s1)
except OSError, e:
if e.errno != errno.EAGAIN:
raise
# Restore the original flags.
fcntl.fcntl(master_fd, fcntl.F_SETFL, orig_flags)
debug("Writing to slave_fd") os.write(slave_fd, TEST_STRING_1) s1 = os.read(master_fd, 1024)
- Previous message: [Python-checkins] r54994 - peps/trunk/pep-3120.txt
- Next message: [Python-checkins] r54995 - python/trunk/Lib/test/test_pty.py
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]