MCPcopy Index your code
hub / github.com/RustPython/RustPython / test_wait_socket

Method test_wait_socket

Lib/test/_test_multiprocessing.py:5286–5319  ·  view source on GitHub ↗
(self, slow=False)

Source from the content-addressed store, hash-verified

5284 s.close()
5285
5286 def test_wait_socket(self, slow=False):
5287 from multiprocessing.connection import wait
5288 l = socket.create_server((socket_helper.HOST, 0))
5289 addr = l.getsockname()
5290 readers = []
5291 procs = []
5292 dic = {}
5293
5294 for i in range(4):
5295 p = multiprocessing.Process(target=self._child_test_wait_socket,
5296 args=(addr, slow))
5297 p.daemon = True
5298 p.start()
5299 procs.append(p)
5300 self.addCleanup(p.join)
5301
5302 for i in range(4):
5303 r, _ = l.accept()
5304 readers.append(r)
5305 dic[r] = []
5306 l.close()
5307
5308 while readers:
5309 for r in wait(readers):
5310 msg = r.recv(32)
5311 if not msg:
5312 readers.remove(r)
5313 r.close()
5314 else:
5315 dic[r].append(msg)
5316
5317 expected = ''.join('%s\n' % i for i in range(10)).encode('ascii')
5318 for v in dic.values():
5319 self.assertEqual(b''.join(v), expected)
5320
5321 def test_wait_slow(self):
5322 self.test_wait(True)

Callers 1

test_wait_socket_slowMethod · 0.95

Calls 15

waitFunction · 0.90
addCleanupMethod · 0.80
create_serverMethod · 0.45
getsocknameMethod · 0.45
ProcessMethod · 0.45
startMethod · 0.45
appendMethod · 0.45
acceptMethod · 0.45
closeMethod · 0.45
recvMethod · 0.45
removeMethod · 0.45
encodeMethod · 0.45

Tested by

no test coverage detected