PNG  IHDR;IDATxܻn0K )(pA 7LeG{ §㻢|ذaÆ 6lذaÆ 6lذaÆ 6lom$^yذag5bÆ 6lذaÆ 6lذa{ 6lذaÆ `}HFkm,mӪôô! x|'ܢ˟;E:9&ᶒ}{v]n&6 h_tڠ͵-ҫZ;Z$.Pkž)!o>}leQfJTu іچ\X=8Rن4`Vwl>nG^is"ms$ui?wbs[m6K4O.4%/bC%t Mז -lG6mrz2s%9s@-k9=)kB5\+͂Zsٲ Rn~GRC wIcIn7jJhۛNCS|j08yiHKֶۛkɈ+;SzL/F*\Ԕ#"5m2[S=gnaPeғL lذaÆ 6l^ḵaÆ 6lذaÆ 6lذa; _ذaÆ 6lذaÆ 6lذaÆ RIENDB`  oY8@sddlZddlZddlZddlZddlZddlZddlZddlZddlZddl Z ddl Z ddl Z ddl Z ddl Z ddl mZddlmZddlmZmZyddlZWnek rdZYnXddlmZddlmZddlmZdd lmZdd lmZdd lmZdd lmZdd lm Z ddl!m"Z"ej#dkrddl$m%Z%nddlm%Z%ddZ&ddZ'dddZ(ddZ)GdddeZ*GdddeZ+GdddZ,Gd d!d!e,e+Z-d"d#d$d%Z.e/ed&rGd'd(d(ej0eZ1Gd)d*d*e1eZ2Gd+d,d,e2Z3Gd-d.d.e,e3Z4d/d0Z5ej6d1d2Z7ej6d"d#d3d4Z8ej6d5d6d7dd"d#d8d9Z9d:d;Z:Gd<d=d=ej;Z<Gd>d?d?ej=Z>d@dAZ?GdBdCdCe@ZAdDdEZBGdFdGdGe jCZCej6dHdIZDejEejFejGdJdKZHdLdMZIdS)NN)mock) HTTPServer)WSGIRequestHandler WSGIServer) base_events)compat)events)futures) selectors)tasks) coroutine)logger)supportwin32) socketpaircCs$tdkrdStjtjSdS)N)sslZ SSLContextZPROTOCOL_SSLv23rr)/opt/python35/lib/python3.5/test_utils.pydummy_ssl_context-s rc CsVtdd}|}|j|}d|_z|j|Wd|jXdS)NcSsdS)Nrrrrronce5szrun_briefly..onceF)r Z create_taskZ_log_destroy_pendingrun_until_completeclose)looprgentrrr run_briefly4s  rcCsttj|}x]|so|dk rP|tj}|dkrPtj|jtjdd|qWdS)NrgMbP?r)timer TimeoutErrorrr sleep)rZpredtimeoutdeadlinerrr run_untilCs    r#cCs|j|j|jdS)N)Z call_soonstopZ run_forever)rrrrrun_onceMsr%c@s(eZdZddZddZdS)SilentWSGIRequestHandlercCs tjS)N)ioStringIO)selfrrr get_stderrZsz#SilentWSGIRequestHandler.get_stderrcGsdS)Nr)r)formatargsrrr log_message]sz$SilentWSGIRequestHandler.log_messageN)__name__ __module__ __qualname__r*r-rrrrr&Xs  r&cs4eZdZdZfddZddZS)SilentWSGIServercs/tj\}}|j|j||fS)N)super get_request settimeoutrequest_timeout)r)request client_addr) __class__rrr4eszSilentWSGIServer.get_requestcCsdS)Nr)r)r7client_addressrrr handle_errorjszSilentWSGIServer.handle_error)r.r/r0r6r4r;rr)r9rr1as r1c@seZdZddZdS)SSLWSGIServerMixinc Cstjjtjjtdd}tjj|s]tjjtjjtjdd}tjj|d}tjj|d}tj|d|d|d d }y!|j||||j Wnt k rYnXdS) Nz..ZteststestZ test_asyncioz ssl_key.pemz ssl_cert.pemkeyfilecertfileZ server_sideT) ospathjoindirname__file__isdirrZ wrap_socketZRequestHandlerClassrOSError)r)r7r:herer>r?Zssockrrrfinish_requestps$    z!SSLWSGIServerMixin.finish_requestN)r.r/r0rHrrrrr<ns r<c@seZdZdS) SSLWSGIServerN)r.r/r0rrrrrIs rIuse_sslFc #sdd}|r|n|}||tj|j_tjdfdd}|jz VWdjj|j XdS)NcSs#d}dg}|||dgS)Nz200 OK Content-type text/plains Test message)rKrLr)environZstart_responsestatusZheadersrrrapps  z_run_test_server..apptargetcsjddS)NZ poll_intervalg?)Z serve_foreverr)httpdrrsz"_run_test_server..) r&Zset_appZserver_addressaddress threadingThreadstartshutdownZ server_closerB)rSrJ server_clsserver_ssl_clsrOZ server_classZ server_threadr)rQr_run_test_servers        rZAF_UNIXc@seZdZddZdS)UnixHTTPServercCs&tjj|d|_d|_dS)Nz 127.0.0.1P) socketserverUnixStreamServer server_bindZ server_nameZ server_port)r)rrrr`s zUnixHTTPServer.server_bindN)r.r/r0r`rrrrr\s r\cs4eZdZdZddZfddZS)UnixWSGIServerr2cCstj||jdS)N)r\r`Z setup_environ)r)rrrr`s zUnixWSGIServer.server_bindcs/tj\}}|j|j|dfS)N 127.0.0.1)rbrc)r3r4r5r6)r)r7r8)r9rrr4szUnixWSGIServer.get_request)r.r/r0r6r`r4rr)r9rras  rac@seZdZddZdS)SilentUnixWSGIServercCsdS)Nr)r)r7r:rrrr;sz!SilentUnixWSGIServer.handle_errorN)r.r/r0r;rrrrrds rdc@seZdZdS)UnixSSLWSGIServerN)r.r/r0rrrrres rec Cs!tj}|jSWdQRXdS)N)tempfileNamedTemporaryFilename)filerrrgen_unix_socket_pathsrjccs@t}z |VWdytj|Wntk r:YnXXdS)N)rjr@unlinkrF)rArrrunix_socket_paths   rlccs;t+}td|d|dtdtEdHWdQRXdS)NrSrJrXrY)rlrZrdre)rJrArrrrun_test_unix_servers rmhostz 127.0.0.1portc cs.td||fd|dtdtEdHdS)NrSrJrXrY)rZr1rI)rnrorJrrrrun_test_serversrpcCsni}xHt|D]:}|jdr:|jdr:qtdd||.genFTrg& .>)r3r~_check_on_close_gennext_timeZ_clock_resolution_timersr| _selectorreaderswritersreset_countersweakrefWeakValueDictionary _transports)r)r)r9rrr~s              zTestLoop.__init__cCs|jS)N)r)r)rrrr4sz TestLoop.timecCs|r|j|7_dS)N)r)r)advancerrr advance_time7szTestLoop.advance_timec sOtj|jrKy|jjdWntk r>Yn XtddS)NrzTime generator is not finished)r3rrrsend StopIterationAssertionError)r))r9rrr<s   zTestLoop.closecGs tj||||j|.)r rrZthreading_setup_thread_cleanup)r)rrrsetUps zTestCase.setUpcCsU|jtjd|jtjd|jtj|j tj dS)N)NNN) rr rZ assertEqualsysexc_infoZ doCleanupsrZthreading_cleanuprZ reap_children)r)rrrtearDowns    zTestCase.tearDowncOsGddd}|S)Nc@s(eZdZddZddZdS)z!TestCase.subTest..EmptyCMcSsdS)Nr)r)rrr __enter__sz+TestCase.subTest..EmptyCM.__enter__cWsdS)Nr)r)excrrr__exit__sz*TestCase.subTest..EmptyCM.__exit__N)r.r/r0rrrrrrEmptyCMs  rr)r)r,rrrrrsubTestszTestCase.subTest) r.r/r0rrrrrrZPY34rrrrrrs    rc cs;tj}ztjtjddVWdtj|XdS)Nr)rlevelsetLevelloggingCRITICAL)Z old_levelrrrdisable_loggers   rcCs=tjtj}||_||_||_d|j_|S)Ng)rZ MagicMocksocketprotorwfamily gettimeoutrr)rrwrsockrrrmock_nonblocking_sockets     rcCstjdddS)Nz'asyncio.sslproto._is_sslproto_availablerrF)rZpatchrrrrforce_legacy_ssl_supports r)Jr contextlibr'rr@rrr^rrfrTrZunittestrrZ http.serverrZwsgiref.simple_serverrrr ImportErrorrcrrr r r r Z coroutinesr logrr=rplatformZ windows_utilsrrrr#r%r&r1r<rIrZhasattrr_r\rardrerjcontextmanagerrlrmrpr{ BaseSelectorr|Z BaseEventLooprrvrrrrr IPPROTO_TCP SOCK_STREAMAF_INETrrrrrrs~                           -