diff --git a/Lib/test/test_ioctl.py b/Lib/test/test_ioctl.py
new file mode 100644
index 0000000..a6a59c5
--- /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()
