MCPcopy Create free account
hub / github.com/emscripten-core/emscripten / test_noderawsockets_backpressure

Method test_noderawsockets_backpressure

test/test_sockets.py:430–450  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

428 self.do_runf('sockets/test_tcp_refused.c', 'REFUSED PASS', cflags=['-sNODERAWSOCKETS'])
429
430 def test_noderawsockets_backpressure(self):
431 # A sink server that accepts but never reads, so the client's writes fill
432 # the buffers and send() reports EAGAIN rather than buffering unboundedly.
433 done = threading.Event()
434
435 class SinkHandler(socketserver.BaseRequestHandler):
436 def handle(self):
437 done.wait(30) # hold the connection open without ever reading
438
439 server = socketserver.TCPServer(('127.0.0.1', 0), SinkHandler)
440 port = server.server_address[1]
441 thread = threading.Thread(target=server.serve_forever, daemon=True)
442 thread.start()
443 try:
444 self.do_runf('sockets/test_tcp_backpressure.c', 'BACKPRESSURE PASS',
445 cflags=['-sNODERAWSOCKETS'], args=[str(port)])
446 finally:
447 done.set()
448 server.shutdown()
449 server.server_close()
450 thread.join()
451
452 @also_with_proxy_to_pthread
453 def test_noderawsockets_server(self):

Callers

nothing calls this directly

Calls 6

joinMethod · 0.95
ThreadMethod · 0.80
do_runfMethod · 0.80
shutdownMethod · 0.80
setMethod · 0.65
startMethod · 0.45

Tested by

no test coverage detected