summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFlorent Xicluna <florent.xicluna@gmail.com>2010-08-08 18:06:13 (GMT)
committerFlorent Xicluna <florent.xicluna@gmail.com>2010-08-08 18:06:13 (GMT)
commit39d795d8c1a1b2feaff407a8d583eb2fc16f2475 (patch)
tree6c13a713d480df3b17e41873667a8ff8a2a1bdad
parente7eaec699ec03217a0800d4b4b3f63c4a98b2200 (diff)
downloadcpython-39d795d8c1a1b2feaff407a8d583eb2fc16f2475.zip
cpython-39d795d8c1a1b2feaff407a8d583eb2fc16f2475.tar.gz
cpython-39d795d8c1a1b2feaff407a8d583eb2fc16f2475.tar.bz2
Issue #7564: Skip test_ioctl if another process is attached to /dev/tty.
-rw-r--r--Lib/test/test_ioctl.py10
-rw-r--r--Misc/NEWS2
2 files changed, 11 insertions, 1 deletions
diff --git a/Lib/test/test_ioctl.py b/Lib/test/test_ioctl.py
index 47e5911..07dac09 100644
--- a/Lib/test/test_ioctl.py
+++ b/Lib/test/test_ioctl.py
@@ -7,9 +7,17 @@ get_attribute(termios, 'TIOCGPGRP') #Can't run tests without this feature
try:
tty = open("/dev/tty", "r")
- tty.close()
except IOError:
raise unittest.SkipTest("Unable to open /dev/tty")
+else:
+ # Skip if another process is in foreground
+ r = fcntl.ioctl(tty, termios.TIOCGPGRP, " ")
+ tty.close()
+ rpgrp = struct.unpack("i", r)[0]
+ if rpgrp not in (os.getpgrp(), os.getsid(0)):
+ raise unittest.SkipTest("Neither the process group nor the session "
+ "are attached to /dev/tty")
+ del tty, r, rpgrp
try:
import pty
diff --git a/Misc/NEWS b/Misc/NEWS
index 318b826..c6795a2 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -136,6 +136,8 @@ Tools/Demos
Tests
-----
+- Issue #7564: Skip test_ioctl if another process is attached to /dev/tty.
+
- Issue #8433: Fix test_curses failure with newer versions of ncurses.
- Issue #9496: Provide a test suite for the rlcompleter module. Patch by