Beispiel #1
0
 def test_closed(self):
     """
     When the closed event is received, L{PantheonSession} closed the
     standard input of its child process and signals it with C{SIGHUP}.
     """
     mockos = MockProcessState(0, 0)
     mockos.seteuid(100)
     session = PantheonSession(None)
     session.os = mockos
     process = session._process = MemoryProcessTransport(mockos)
     session.closed()
     self.assertTrue(process.stdinClosed)
     self.assertEqual(process.signals, [SIGHUP])
     self.assertEqual(mockos.geteuid(), 100)
Beispiel #2
0
 def test_alreadyExited(self):
     """
     No unhandled exceptions are raised if the channel receives eof or is
     closed after the child process has already exited.  stdin is still
     closed and the process's euid is still set back to its original value.
     """
     mockos = MockProcessState(0, 0)
     mockos.seteuid(100)
     session = PantheonSession(None)
     session.os = mockos
     process = session._process = MemoryProcessTransport(mockos)
     process._exited = True
     session.closed()
     self.assertTrue(process.stdinClosed)
     self.assertEqual(mockos.geteuid(), 100)