summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_ioctl.py
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/test/test_ioctl.py')
-rw-r--r--Lib/test/test_ioctl.py14
1 files changed, 9 insertions, 5 deletions
diff --git a/Lib/test/test_ioctl.py b/Lib/test/test_ioctl.py
index 959d16e..2b127e2 100644
--- a/Lib/test/test_ioctl.py
+++ b/Lib/test/test_ioctl.py
@@ -1,5 +1,5 @@
import unittest
-from test_support import TestSkipped, run_unittest
+from test.test_support import TestSkipped, run_unittest
import os, struct
try:
import fcntl, termios
@@ -16,19 +16,23 @@ except IOError:
class IoctlTests(unittest.TestCase):
def test_ioctl(self):
- pgrp = os.getpgrp()
+ # If this process has been put into the background, TIOCGPGRP returns
+ # the session ID instead of the process group id.
+ ids = (os.getpgrp(), os.getsid(0))
tty = open("/dev/tty", "r")
r = fcntl.ioctl(tty, termios.TIOCGPGRP, " ")
- self.assertEquals(pgrp, struct.unpack("i", r)[0])
+ rpgrp = struct.unpack("i", r)[0]
+ self.assert_(rpgrp in ids, "%s not in %s" % (rpgrp, ids))
def test_ioctl_mutate(self):
import array
buf = array.array('i', [0])
- pgrp = os.getpgrp()
+ ids = (os.getpgrp(), os.getsid(0))
tty = open("/dev/tty", "r")
r = fcntl.ioctl(tty, termios.TIOCGPGRP, buf, 1)
+ rpgrp = buf[0]
self.assertEquals(r, 0)
- self.assertEquals(pgrp, buf[0])
+ self.assert_(rpgrp in ids, "%s not in %s" % (rpgrp, ids))
def test_main():
run_unittest(IoctlTests)