diff options
author | Thomas Wouters <thomas@python.org> | 2006-01-28 12:05:54 (GMT) |
---|---|---|
committer | Thomas Wouters <thomas@python.org> | 2006-01-28 12:05:54 (GMT) |
commit | 35f34f8d6051fa0fcd2c17f6214bd6ddea841596 (patch) | |
tree | 62ca73819eb763756c6e7bf149a11073de5774a7 /Lib | |
parent | c960f26044edaea6669e60859ecf590c63c65e62 (diff) | |
download | cpython-35f34f8d6051fa0fcd2c17f6214bd6ddea841596.zip cpython-35f34f8d6051fa0fcd2c17f6214bd6ddea841596.tar.gz cpython-35f34f8d6051fa0fcd2c17f6214bd6ddea841596.tar.bz2 |
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.
Diffstat (limited to 'Lib')
-rw-r--r-- | Lib/test/test_pty.py | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/Lib/test/test_pty.py b/Lib/test/test_pty.py index 6bf9072..9fe038a 100644 --- a/Lib/test/test_pty.py +++ b/Lib/test/test_pty.py @@ -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 |