Work around a Solaris peculiarity that caused test_pty to sometimes fail: a
tty opened by os.openpty() isn't always a tty according to os.isatty(), when it's tested inside the process that opened it. Doesn't affect actual functionality, as using a tty this way is rarely, if ever, useful. Ignoring the failure allows the test for actual functionality to continue. Will backport to 2.4-maint.
This commit is contained in:
parent
c960f26044
commit
35f34f8d60
|
@ -4,6 +4,13 @@ from test.test_support import verbose, TestFailed, TestSkipped
|
|||
TEST_STRING_1 = "I wish to buy a fish license.\n"
|
||||
TEST_STRING_2 = "For my pet fish, Eric.\n"
|
||||
|
||||
# Solaris (at least 2.9 and 2.10) seem to have a ficke isatty(). The first
|
||||
# test below, testing the result of os.openpty() for tty-ness, sometimes
|
||||
# (but not always) fails. The second isatty test, in the sub-process, always
|
||||
# works. Allow that fickle first test to fail on these platforms, since it
|
||||
# doesn't actually affect functionality.
|
||||
fickle_isatty = ["sunos5"]
|
||||
|
||||
if verbose:
|
||||
def debug(msg):
|
||||
print msg
|
||||
|
@ -26,7 +33,7 @@ def test_basic_pty():
|
|||
# " An optional feature could not be imported " ... ?
|
||||
raise TestSkipped, "Pseudo-terminals (seemingly) not functional."
|
||||
|
||||
if not os.isatty(slave_fd):
|
||||
if not os.isatty(slave_fd) and sys.platform not in fickle_isatty:
|
||||
raise TestFailed, "slave_fd is not a tty"
|
||||
|
||||
# IRIX apparently turns \n into \r\n. Allow that, but avoid allowing other
|
||||
|
|
Loading…
Reference in New Issue