def start(loop, args): d = Debug() total = 0 sslctx = None if args.tls: d.print_('using dummy SSLContext') sslctx = test_utils.dummy_ssl_context() r, w = yield From(open_connection(args.host, args.port, ssl=sslctx)) d.print_('r =', r) d.print_('w =', w) if args.stop: w.write(b'stop') w.close() else: size = args.size data = b'x' * size try: while True: total += size d.oprint('writing', size, 'bytes; total', total) w.write(data) f = w.drain() if f: d.print_('pausing') yield From(f) except (ConnectionResetError, BrokenPipeError) as exc: d.print_('caught', repr(exc))
def start(loop, args): d = Debug() total = 0 sslctx = None if args.tls: d.print_('using dummy SSLContext') sslctx = test_utils.dummy_ssl_context() r, w = yield From(open_connection(args.host, args.port, ssl=sslctx)) d.print_('r =', r) d.print_('w =', w) if args.stop: w.write(b'stop') w.close() else: size = args.size data = b'x'*size try: while True: total += size d.oprint('writing', size, 'bytes; total', total) w.write(data) f = w.drain() if f: d.print_('pausing') yield From(f) except (ConnectionResetError, BrokenPipeError) as exc: d.print_('caught', repr(exc))
def test_cancel_handshake(self): # Python issue #23197: cancelling an handshake must not raise an # exception or log an error, even if the handshake failed sslcontext = test_utils.dummy_ssl_context() app_proto = asyncio.Protocol() waiter = asyncio.Future(loop=self.loop) ssl_proto = sslproto.SSLProtocol(self.loop, app_proto, sslcontext, waiter) handshake_fut = asyncio.Future(loop=self.loop) def do_handshake(callback): exc = Exception() callback(exc) handshake_fut.set_result(None) return [] waiter.cancel() transport = mock.Mock() sslpipe = mock.Mock() sslpipe.shutdown.return_value = b'' sslpipe.do_handshake.side_effect = do_handshake with mock.patch('trollius.sslproto._SSLPipe', return_value=sslpipe): ssl_proto.connection_made(transport) with test_utils.disable_logger(): self.loop.run_until_complete(handshake_fut) # Close the transport ssl_proto._app_transport.close()
def test_open_connection_no_loop_ssl(self): with test_utils.run_test_server(use_ssl=True) as httpd: conn_fut = asyncio.open_connection( *httpd.address, ssl=test_utils.dummy_ssl_context(), loop=self.loop) self._basetest_open_connection_no_loop_ssl(conn_fut)
def start(loop, host, port): sslctx = None if args.tls: sslctx = test_utils.dummy_ssl_context() tr, pr = yield From(loop.create_connection(Client, host, port, ssl=sslctx)) dprint('tr =', tr) dprint('pr =', pr) yield From(pr.waiter)
def main(): asyncio.set_event_loop(None) if args.iocp: from trollius.windows_events import ProactorEventLoop loop = ProactorEventLoop() else: loop = asyncio.new_event_loop() sslctx = None if args.tls: sslctx = test_utils.dummy_ssl_context() cache = CacheClient(args.host, args.port, sslctx=sslctx, loop=loop) try: loop.run_until_complete( asyncio.gather( *[testing(i, cache, loop) for i in range(args.ntasks)], loop=loop)) finally: loop.close()