diff options
Diffstat (limited to 'Lib/test/test_ioctl.py')
-rw-r--r-- | Lib/test/test_ioctl.py | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/Lib/test/test_ioctl.py b/Lib/test/test_ioctl.py new file mode 100644 index 0000000000..a6a59c5a4e --- /dev/null +++ b/Lib/test/test_ioctl.py @@ -0,0 +1,31 @@ +import unittest +from test_support import TestSkipped, run_unittest +import os, struct +try: + import fcntl, termios +except ImportError: + raise TestSkipped("No fcntl or termios module") +if not hasattr(termios,'TIOCGPGRP'): + raise TestSkipped("termios module doesn't have TIOCGPGRP") + +class IoctlTests(unittest.TestCase): + def test_ioctl(self): + pgrp = os.getpgrp() + tty = open("/dev/tty", "r") + r = fcntl.ioctl(tty, termios.TIOCGPGRP, " ") + self.assertEquals(pgrp, struct.unpack("i", r)[0]) + + def test_ioctl_mutate(self): + import array + buf = array.array('i', [0]) + pgrp = os.getpgrp() + tty = open("/dev/tty", "r") + r = fcntl.ioctl(tty, termios.TIOCGPGRP, buf, 1) + self.assertEquals(r, 0) + self.assertEquals(pgrp, buf[0]) + +def test_main(): + run_unittest(IoctlTests) + +if __name__ == "__main__": + test_main() |