Commit 761cd9ea authored by David Wilson's avatar David Wilson

tests: import tty_create_child_test.py.

parent 7b12f843
import os
import tempfile
import time
import unittest2
import mitogen.parent
class TtyCreateChildTest(unittest2.TestCase):
func = staticmethod(mitogen.parent.tty_create_child)
def test_dev_tty_open_succeeds(self):
import logging
logging.basicConfig(level=logging.DEBUG)
tf = tempfile.NamedTemporaryFile()
try:
pid, fd = self.func(
'bash', '-c', 'exec 2>%s; echo hi > /dev/tty' % (tf.name,)
)
# TODO: this waitpid hangs on OS X. Installing a SIGCHLD handler
# reveals the parent /is/ notified of the child's death, but
# calling waitpid() from within SIGCHLD yields "No such processes".
# Meanwhile, even inserting a sleep, the following call will hang.
waited_pid, status = os.waitpid(pid, 0)
self.assertEquals(pid, waited_pid)
self.assertEquals(0, status)
self.assertEquals('', tf.read())
finally:
tf.close()
if __name__ == '__main__':
unittest2.main()
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment