Пример #1
0
 def test_write_read(self):
     thing = Thing()
     p = Pipe()
     p.put(thing)
     read = p.reader.get()
     p.close()
     self.assertEqual(read, thing)
Пример #2
0
 def test_write_read(self):
     thing = Thing()
     p = Pipe()
     p.put(thing)
     read = p.reader.get()
     p.close()
     self.assertEqual(read, thing)
Пример #3
0
 def test_multiple_write_read(self):
     things = [Thing(), Thing(), Thing()]
     p = Pipe()
     for t in things:
         p.put(t)
     read = []
     for _ in things:
         read.append(p.reader.get())
     p.close()
     self.assertEqual(read, things)
Пример #4
0
 def test_multiple_write_read(self):
     things = [
         Thing(),
         Thing(),
         Thing()
     ]
     p = Pipe()
     for t in things:
         p.put(t)
     read = []
     for _ in things:
         read.append(p.reader.get())
     p.close()
     self.assertEqual(read, things)
Пример #5
0
 def __call__(self):
     """
     Invoke the RMI as follows:
       - Fork
       - Start the monitor.
       - Read and dispatch reply messages.
     :return: Whatever method returned.
     """
     pipe = Pipe()
     target = Target(self.method, *self.args, **self.kwargs)
     child = Process(target, pipe)
     monitor = Monitor(Context.current(), child)
     try:
         child.start()
         monitor.start()
         pipe.writer.close()
         retval = self.read(pipe.reader)
         return retval
     finally:
         pipe.close()
         monitor.stop()
         child.wait()
Пример #6
0
 def test_eof(self):
     p = Pipe()
     p.writer.close()
     self.assertRaises(EOFError, p.reader.get)
     p.close()
Пример #7
0
 def test_close(self, _open):
     _open.return_value = Mock(), Mock()
     p = Pipe()
     p.close()
     _open.return_value[0].close.assert_called_once_with()
     _open.return_value[1].close.assert_called_once_with()
Пример #8
0
 def test_eof(self):
     p = Pipe()
     p.writer.close()
     self.assertRaises(EOFError, p.reader.get)
     p.close()
Пример #9
0
 def test_close(self, _open):
     _open.return_value = Mock(), Mock()
     p = Pipe()
     p.close()
     _open.return_value[0].close.assert_called_once_with()
     _open.return_value[1].close.assert_called_once_with()