a  ze@s,ddlZddlZddlZddlmZz ddlZWneyFdZYn0ddlZddlmZddlm Z ddlm Z ddlm Z ddl m ZejZdd ZGd d d eZdd dZddZGdddejZGdddejZGdddejZGdddejZGdddejZedkr(edS)N)mock)BaseSelectorEventLoop)_SelectorTransport)_SelectorSocketTransport)_SelectorDatagramTransport)utilscCstddSN)asyncioZset_event_loop_policyr r Z/opt/bitninja-python-dojo/embedded/lib/python3.9/test/test_asyncio/test_selector_events.pytearDownModulesr c@seZdZddZddZdS)TestBaseSelectorEventLoopcCs&t|_t|_|jd7_dSNrMock_ssock_csockZ _internal_fdsselfr r r _make_self_pipes  z)TestBaseSelectorEventLoop._make_self_pipecCsdSrr rr r r _close_self_pipe"sz*TestBaseSelectorEventLoop._close_self_pipeN)__name__ __module__ __qualname__rrr r r r r sr r cCs t|Sr) bytearrayjoin)lr r r list_to_buffer&srcCs"|jdurdS|jd|_dSr)_sockclose) transportr r r close_transport*s  r"cs eZdZfddZddZeedudddZe d de d dd d Z d dZ ddZ ddZddZddZddZddZddZddZdd Zd!d"Zd#d$Zd%d&Zd'd(Zd)d*Zd+d,Zd-d.Zd/d0Zd1d2Zd3d4Zd5d6Z d7d8Z!Z"S)9BaseSelectorEventLoopTestscs:tt|_g|jj_t|j|_| |jdSr) supersetUprrselectorselect return_valuer loopset_event_loopr __class__r r r%5s     z BaseSelectorEventLoopTests.setUpcCsZt}t|j_d|jj_|j|t}||t |j t |t |dS)NF) rrr) add_reader _is_coroutineZ_make_socket_transportr ProtocolassertIsInstancerr reprr")rmr!r r r test_make_socket_transport<s    z5BaseSelectorEventLoopTests.test_make_socket_transportNz No ssl modulec CsTt}t|j_d|jj_t|j_t|j_t|j_|j}t f|j |t ||}|td|Wdn1s0Yt |jWdn1s0Y|||||||||||jj}|d||d||t |jdS)NFzSSL transport.*not.*initializedsslr!)rrr) _add_readerr. _add_writer_remove_reader_remove_writer create_future test_utilsdisable_logger_make_ssl_transportr r/ZassertRaisesRegex RuntimeError is_reading run_briefly assertTrue pause_reading assertFalseresume_readingr,rZassertInlowerr )rr2waiterr! class_namer r r test_make_ssl_transportIs8        &*z2BaseSelectorEventLoopTests.test_make_ssl_transportzasyncio.selector_events.sslzasyncio.sslproto.sslcCsxt}t|j_t|j_t|j_t|j_|t"|j ||||Wdn1sj0YdSr) rrr)r- add_writer remove_reader remove_writer assertRaisesr=r<)rr2r r r )test_make_ssl_transport_without_ssl_erroros     zDBaseSelectorEventLoopTests.test_make_ssl_transport_without_ssl_errorc CshGdddt}||j|_||j|jj}d|j_|jj}d|j_t }|j_ |jj t |j_ }| |j|j ||j||jj ||jj||jj|j |j |j |d|j |j |j}|t|jj|t|jj|d}dd}|t|jj|||t|jj||dS)Nc@seZdZddZdS)z8BaseSelectorEventLoopTests.test_close..EventLoopcSs&t|_t|_|jd7_dSrrrr r r r|s  zHBaseSelectorEventLoopTests.test_close..EventLoop._make_self_pipeN)rrrrr r r r EventLoop{srMrrcSsdSrr r r r r callbacksz7BaseSelectorEventLoopTests.test_close..callback)rr&r)r*rfilenor(rrrr7 _selectorr rBZ is_closedr@ assertIsNoneassert_called_withr9rKr=Z run_foreverrun_until_completer-rH) rrMZssockZcsockrIr&ffdrOr r r test_closezs:           z%BaseSelectorEventLoopTests.test_closecCs<t|j_|jjd|j_|j||jjdSr)rrr)rIrQr rRrr r r test_close_no_selectors    z1BaseSelectorEventLoopTests.test_close_no_selectorcCs t|jjj_||jdSr)BlockingIOErrorr)rrecv side_effectrR_read_from_selfrr r r test_read_from_self_tryagains z7BaseSelectorEventLoopTests.test_read_from_self_tryagaincCs t|jjj_|t|jjdSr)OSErrorr)rrZr[rKr\rr r r test_read_from_self_exceptions z8BaseSelectorEventLoopTests.test_read_from_self_exceptioncCsHt|jjj_t ||jWdn1s:0YdSr) rYr)rsendr[r:r;rR_write_to_selfrr r r test_write_to_self_tryagains  z6BaseSelectorEventLoopTests.test_write_to_self_tryagaincCs"t|jjj_|t|jjdSr)r=r)rr`r[rKrarr r r test_write_to_self_exceptionsz7BaseSelectorEventLoopTests.test_write_to_self_exceptioncCst|jjj_dd}|jd|||jjjj|jjjj d\}}\}}| d|| t j || ||j ||dS)NcSsdSNTr r r r r z.rr)KeyErrorr)rQget_keyr[r-r@registercalled call_args assertEqual selectors EVENT_READ _callbackrRrcbrVmaskrwr r r test_add_readers  z*BaseSelectorEventLoopTests.test_add_readercCst}t}tddtj||f|jjj_dd}|j d|| |j j | |jjjj | |jjjj |jjjjd\}}\}}|d||tjtjB||||j|||dS)NrcSsdSrdr r r r r rerfzEBaseSelectorEventLoopTests.test_add_reader_existing..r)rrrm SelectorKey EVENT_WRITEr)rQrhr(r-r@cancelrjrBrimodifyrkrlrnrorreaderwriterrqrVrrrsrtr r r test_add_reader_existings  z3BaseSelectorEventLoopTests.test_add_reader_existingcCst}tddtjd|f|jjj_dd}|j d|| |jjj j | |jjjj |jjjjd\}}\}}|d||tjtjB||||j|||dS)NrcSsdSrdr r r r r rerfzLBaseSelectorEventLoopTests.test_add_reader_existing_writer..r)rrrmrvrwr)rQrhr(r-rBrirjr@ryrkrlrnro)rr|rqrVrrrsrtr r r test_add_reader_existing_writers  z:BaseSelectorEventLoopTests.test_add_reader_existing_writercCsBtddtjd|jjj_||jd| |jjj j dSNr)NN) rmrvrnr)rQrhr(rBrIr@ unregisterrjrr r r test_remove_readers  z-BaseSelectorEventLoopTests.test_remove_readercCst}t}tddtjtjB||f|jjj_ | |j d| |jjj j|dtjd|ff|jjjjddSNrr)rrrmrvrnrwr)rQrhr(r@rIrBrrjrlryrkrr{r|r r r test_remove_reader_read_writes  z8BaseSelectorEventLoopTests.test_remove_reader_read_writecCs"t|jjj_||jddSr)rgr)rQrhr[rBrIrr r r test_remove_reader_unknowns  z5BaseSelectorEventLoopTests.test_remove_reader_unknowncCst|jjj_dd}|jd|||jjjj|jjjj d\}}\}}| d|| t j || || ||jdS)NcSsdSrdr r r r r rerfz.rr)rgr)rQrhr[rHr@rirjrkrlrmrwrRrorpr r r test_add_writers   z*BaseSelectorEventLoopTests.test_add_writercCst}t}tddtj||f|jjj_dd}|j d|| |j j | |jjjj | |jjjj |jjjjd\}}\}}|d||tjtjB|||||||jdS)NrcSsdSrdr r r r r rerfzEBaseSelectorEventLoopTests.test_add_writer_existing..r)rrrmrvrnr)rQrhr(rHr@rxrjrBriryrkrlrwrorzr r r test_add_writer_existings   z3BaseSelectorEventLoopTests.test_add_writer_existingcCsBtddtjd|jjj_||jd| |jjj j dSr) rmrvrwr)rQrhr(rBrJr@rrjrr r r test_remove_writer"s  z-BaseSelectorEventLoopTests.test_remove_writercCst}t}tddtjtjB||f|jjj_ | |j d| |jjj j|dtj|dff|jjjjddSr)rrrmrvrnrwr)rQrhr(r@rJrBrrjrlryrkrr r r test_remove_writer_read_write)s  z8BaseSelectorEventLoopTests.test_remove_writer_read_writecCs"t|jjj_||jddSr)rgr)rQrhr[rBrJrr r r test_remove_writer_unknown7s  z5BaseSelectorEventLoopTests.test_remove_writer_unknownc Csbt}d|_t|j_|jtddtj|dftjfg| |jjj |jj |dSNFr) rr _cancelledr) _add_callback_process_eventsrmrvrnr@rjrSrr{r r r test_process_events_read<s z3BaseSelectorEventLoopTests.test_process_events_readc CsRt}d|_t|j_|jtddtj|dftjfg|jj ddSNTr) rr cancelledr)r7rrmrvrnrSrr r r "test_process_events_read_cancelledHs z=BaseSelectorEventLoopTests.test_process_events_read_cancelledc CsRt}d|_t|j_|jtddtjd|ftjfg|jj |dSr) rrrr)rrrmrvrwrSrr|r r r test_process_events_writeSs  z4BaseSelectorEventLoopTests.test_process_events_writec CsRt}d|_t|j_|jtddtjd|ftjfg|jj ddSr) rrrr)r8rrmrvrwrSrr r r #test_process_events_write_cancelled^s  z>BaseSelectorEventLoopTests.test_process_events_write_cancelledcCst}ttf|j_d}tjj}||jd&}|jjt||dWdn1s`0Y|jt d| |jj |dS)NdZ_accept_connection2)backlogr) rracceptr(patchobjectr)Z_accept_connectionrTr sleeprl call_count)rsockrZmock_objZ accept2_mockr r r test_accept_connection_multipleis $z:BaseSelectorEventLoopTests.test_accept_connection_multiple)#rrrr%r3unittestZskipIfr4rGrrrLrWrXr]r_rbrcrur}r~rrrrrrrrrrrrr __classcell__r r r+r r#3s:   %   ,      r#cseZdZfddZddZddZddZd d Zd d Zd dZ e dddZ e dddZ ddZddZZS)SelectorTransportTestscs>t||_ttj|_t t j |_ d|j j _dSNrN)r$r% new_test_loopr)r:make_test_protocolr r/protocolrrsocketrrPr(rr+r r r%}s   zSelectorTransportTests.setUpcCs$t|j|j|jd}|t||Sr)rr)rr addCleanupr"rr!r r r create_transports  z'SelectorTransportTests.create_transportcCs:|}||j|j||j|j||jddSr)rZassertIs_loopr)rrZ_sock_fdrtrr r r test_ctorsz SelectorTransportTests.test_ctorcCs*|}t|_||jddSr)rrr _force_closeabortrSrr r r test_aborts z!SelectorTransportTests.test_abortcCsz|}||||d|jjd|jd||j d|||j d|d|jjddS)NrrN) rr r@ is_closingrlr)remove_reader_countrconnection_lost _conn_lostrr r r rWs z!SelectorTransportTests.test_closecCsJ|}|jd|||jjt|j||j j j dSNdata) r_bufferextendr rBr)readersr:r?rrrjrr r r test_close_write_buffers   z.SelectorTransportTests.test_close_write_buffercCs|}|jd|jdtj|jdtj|d| | | |jt | |jj| |jj|d| |jj| d|jjddS)N1rNr)rrrr)r5rsentinelr6rr@rrlrrBrwritersrrr r r test_force_closes   z'SelectorTransportTests.test_force_closezasyncio.log.logger.errorcCs:t}|}t|_||||j|dSr)r^rrrr _fatal_errorassert_not_calledrS)rm_excexcrr r r test_fatal_errors   z'SelectorTransportTests.test_fatal_errorcCs\Gdddt}|}|}t|_|||jtd|t t fd|j|dS)Nc@s eZdZdS)zISelectorTransportTests.test_fatal_error_custom_exception..MyErrorNrrrr r r r MyErrorsr1Fatal error on transport protocol:.* transport:.*exc_info) ExceptionrrrrrrSr: MockPatternMOCK_ANY)rrrrrr r r !test_fatal_error_custom_exceptions  z8SelectorTransportTests.test_fatal_error_custom_exceptioncCsrt}|}||j||j|||jj||j j | |j | |j| |jdSr) r^rZassertIsNotNoneZ _protocolrZ_call_connection_lostrrrSrr rRr)rrrr r r test_connection_losts      z+SelectorTransportTests.test_connection_lostcCsv|}|jd|dtj||jj| d|| | |jj|dtj| |jjdS)NrrN) rrrr5rrr@r)rrrrBrr r r test__add_readers  z'SelectorTransportTests.test__add_reader)rrrr%rrrrWrrrrrrrrrr r r+r r{s     rcseZdZfddZdQddZddZdd Zd d Zd d ZddZ ddZ ddZ ddZ e dddZe dddZe dddZe dddZdd Zd!d"Zd#d$Zd%d&Zd'd(Zd)d*Zd+d,Zd-d.Zd/d0Zd1d2Ze d3d4d5Zd6d7Zd8d9Zd:d;Z dd?Z"d@dAZ#dBdCZ$dDdEZ%dFdGZ&dHdIZ'dJdKZ(dLdMZ)e dNdOdPZ*Z+S)RSelectorSocketTransportTestscsDt||_ttj|_t t j |_ d|_ |j j_dSr)r$r%rr)r:rr r/rrrrrsock_fdrPr(rr+r r r%s   z"SelectorSocketTransportTests.setUpNcCs&t|j|j|j|d}|t||SNrErr)rrrr"rrEr!r r r socket_transports   z-SelectorSocketTransportTests.socket_transportcCsP|j}|j|d}|j||jd|jt|j|jj |dSNrrN r)r9rrT assert_reader _read_readyr:r?rZconnection_maderSrrErr r r rs     z&SelectorSocketTransportTests.test_ctorcCs4|j}|j|d|j|||dSr)r)r9rrTrRresult)rrEr r r test_ctor_with_waiters   z2SelectorSocketTransportTests.test_ctor_with_waitercCs|}t|j||j|||jd|j | | ||j|||j d| | ||j|||jd|j | |||j ddSr)rr:r?r)rBZ_pausedr@r>rrrAZassert_no_readerrCr rr r r test_pause_resume_readings$     z6SelectorSocketTransportTests.test_pause_resume_readingcCsd|}t|_t|_t|j_t|jj _ d|j j _ ||jj ||jjdSNrf)rrrr rr)call_exception_handler LookupErrorr eof_receivedr[rrZr(rrSr@rjrr r r test_read_eof_received_error-s      z9SelectorSocketTransportTests.test_read_eof_received_errorcCs^|}t|_t|j_t|jj_ d|j j _ | ||jj||jjjdSr)rrrrr)rrr data_receivedr[rrZr(rr@rjrr r r test_data_received_error<s    z5SelectorSocketTransportTests.test_data_received_errorcCs,|}d|jj_||jjddSr)rrrZr(rrrrSrr r r test_read_readyIs z,SelectorSocketTransportTests.test_read_readycCs>|}t|_d|jj_||jj |j dSr) rrrr rrZr(rrrrSrr r r test_read_ready_eofQs    z0SelectorSocketTransportTests.test_read_ready_eofcCsL|}t|_d|jj_d|jj_| |jj | |jj dS)NrfT) rrrr rrZr(rrrrSrBrjrr r r test_read_ready_eof_keep_open[s    z:SelectorSocketTransportTests.test_read_ready_eof_keep_openlogging.exceptioncCs6t|jj_|}t|_|| |jj dSr) rYrrZr[rrrrrrBrjrrr!r r r test_read_ready_tryagainfs   z5SelectorSocketTransportTests.test_read_ready_tryagaincCs6t|jj_|}t|_|| |jj dSr) InterruptedErrorrrZr[rrrrrrBrjrr r r $test_read_ready_tryagain_interruptedps   zASelectorSocketTransportTests.test_read_ready_tryagain_interruptedcCsbt}|jj_|}t|_t | Wdn1sH0Y|j |dSr) ConnectionResetErrorrrZr[rrrrr:r;rrSrrerrr!r r r test_read_ready_conn_resetzs   &z7SelectorSocketTransportTests.test_read_ready_conn_resetcCs<t}|jj_|}t|_||j |ddSNz$Fatal read error on socket transport) r^rrZr[rrrrrrSrr r r test_read_ready_errs z0SelectorSocketTransportTests.test_read_ready_errcCs6d}t||jj_|}|||jj|dSr)lenrr`r(rwriterSrdatar!r r r test_writes  z'SelectorSocketTransportTests.test_writecCsJtd}t||jj_|}|||jj|||tddSr) rrrr`r(rrrSrlrr r r test_write_bytearrays  z1SelectorSocketTransportTests.test_write_bytearraycCs:td}t||jj_|}|||jj|dSr) memoryviewrrr`r(rrrSrr r r test_write_memoryviews  z2SelectorSocketTransportTests.test_write_memoryviewcCsF|}|jd|d||jjj|t dg|jdS)Nrrf rrrrrBrr`rjrlrrr r r test_write_no_datas   z/SelectorSocketTransportTests.test_write_no_datacCsH|}|jd|d||jjj|t ddg|jdS)Ndata1data2rrr r r test_write_buffers  z.SelectorSocketTransportTests.test_write_buffercCsHd}d|jj_|}|||jd|j|t dg|j dSNrrNsta) rr`r(rrr) assert_writer _write_readyrlrrrr r r test_write_partials   z/SelectorSocketTransportTests.test_write_partialcCs\td}d|jj_|}|||jd|j| t dg|j | |tddSr) rrr`r(rrr)rrrlrrrr r r test_write_partial_bytearrays  z9SelectorSocketTransportTests.test_write_partial_bytearraycCsLtd}d|jj_|}|||jd|j| t dg|j dSr) rrr`r(rrr)rrrlrrrr r r test_write_partial_memoryviews   z:SelectorSocketTransportTests.test_write_partial_memoryviewcCsRd}d|jj_d|jj_|}|||jd|j| t dg|j dSNrrrN) rr`r(rPrrr)rrrlrrrr r r test_write_partial_nones   z4SelectorSocketTransportTests.test_write_partial_nonecCsHt|jj_d}|}|||jd|j| t dg|j dSNrrN) rYrr`r[rrr)rrrlrrrr r r test_write_tryagains   z0SelectorSocketTransportTests.test_write_tryagainasyncio.selector_events.loggercCst}|jj_d}|}t|_|||j |dd|_ |j ||| |jjj ||j d|||||||||j ddS)Nr%Fatal write error on socket transportrrsocket.send() raised exception.)r^rr`r[rrrrrrSrZ reset_mockrBrjrlwarning)rm_logrrr!r r r test_write_exceptions&        z1SelectorSocketTransportTests.test_write_exceptioncCs|}|t|jddS)Nstr)rrK TypeErrorrrr r r test_write_strsz+SelectorSocketTransportTests.test_write_strcCs:|}|||jd|d||jddS)Nrrr)rr rlrrrr r r test_write_closings  z/SelectorSocketTransportTests.test_write_closingcCs`d}t||jj_|}|j||jd|j | | |jjj | |jj dSr )rrr`r(rrrr)r6rr@rjrBrrr r r test_write_readys z-SelectorSocketTransportTests.test_write_readycCsd}t||jj_|}d|_|j||j d|j | | |jjj | |jj|jj|jjddS)NrTrN)rrr`r(r_closingrrr)r6rr@rjrBrr rSrrrr r r test_write_ready_closings  z5SelectorSocketTransportTests.test_write_ready_closingcCs|}|t|jdSr)rrKAssertionErrorrrr r r test_write_ready_no_data'sz5SelectorSocketTransportTests.test_write_ready_no_datacCsbd}d|jj_|}|j||jd|j||j d|j| t dg|jdSr rr`r(rrrr)r6rrrlrrr r r test_write_ready_partial,s  z5SelectorSocketTransportTests.test_write_ready_partialcCsbd}d|jj_|}|j||jd|j||j d|j| t dg|jdSrrrr r r test_write_ready_partial_none7s  z:SelectorSocketTransportTests.test_write_ready_partial_nonecCs`t|jj_|}tddg|_|jd|j | |j d|j | tdg|jdS)NrrrNs data1data2) rYrr`r[rrrr)r6rrrlrr r r test_write_ready_tryagainBs z6SelectorSocketTransportTests.test_write_ready_tryagaincCsHt}|jj_|}t|_|j d| |j |ddS)Nrr ) r^rr`r[rrrrrrrrSrrr!r r r test_write_ready_exceptionMs  z7SelectorSocketTransportTests.test_write_ready_exceptioncCsT|}||||jjtj|| |jjj d| dSr) rr@Z can_write_eof write_eofrshutdownrSrSHUT_WRrlrr rr r r test_write_eofXsz+SelectorSocketTransportTests.test_write_eofcCs|}t|jj_|d|||jt dg| |j | |jj jdd|jj_|| |jjj|jj tj|dS)NrcSsdS)Nr )_r r r reirfzDSelectorSocketTransportTests.test_write_eof_buffer..)rrYrr`r[rr!rlrrr@_eofrBr"rjrrSrr#r rr r r test_write_eof_bufferas   z2SelectorSocketTransportTests.test_write_eof_buffercCs.|}||jtd|dSNr)rr r)rTr rr!rr r r test_write_eof_after_closeosz7SelectorSocketTransportTests.test_write_eof_after_closezasyncio.base_events.loggercCs0t}|j_|}|||jdSr)rrr)r8rr rSr)rrrJr!r r r "test_transport_close_remove_writerusz?SelectorSocketTransportTests.test_transport_close_remove_writer)N),rrrr%rrrrrrrrrrrrrrrrrrrrrrrr r rrrrrrrrrr r$r(r*r+rr r r+r rsX                       rcseZdZfddZd!ddZddZdd Zd d Zd d ZddZ ddZ ddZ ddZ ddZ edddZedddZedddZeddd ZZS)",SelectorSocketTransportBufferedProtocolTestscs`t_ttj_t d_ fddjj _ t tj_d_jj_dS)NrcsjSrbufhintrr r rerfzDSelectorSocketTransportBufferedProtocolTests.setUp..rN)r$r%rr)r:rr BufferedProtocolrrr. get_bufferr[rrrrrrPr(rr+rr r%s   z2SelectorSocketTransportBufferedProtocolTests.setUpNcCs&t|j|j|j|d}|t||Srrrr r r rs   z=SelectorSocketTransportBufferedProtocolTests.socket_transportcCsP|j}|j|d}|j||jd|jt|j|jj |dSrrrr r r rs     z6SelectorSocketTransportBufferedProtocolTests.test_ctorcCsd|}t|_t|j_t|jj_ | | |jj | |jjj | |jjj dSr)rrrrr)rrrr2r[rr@rjrBbuffer_updatedrr r r test_get_buffer_errors   zBSelectorSocketTransportBufferedProtocolTests.test_get_buffer_errorcCsf|}t|_t|j_dd|jj_| | |jj | |jjj | |jj j dS)NcSstdSr))rr/r r r rerfzXSelectorSocketTransportBufferedProtocolTests.test_get_buffer_zerosized..)rrrrr)rrr2r[rr@rjrBr3rr r r test_get_buffer_zerosizeds  zFSelectorSocketTransportBufferedProtocolTests.test_get_buffer_zerosizedcsttj|_|}d|jj_| |jj dttj }t dfdd|j_||d|jj_| |j d|j ddS)Nrr%csSrr r/r-r r rerfzUSelectorSocketTransportBufferedProtocolTests.test_proto_type_switch.. )r:rr r/rrrrZr(rrrSr1rr2r[Z set_protocol recv_intor3)rr!Z buf_protor r-r test_proto_type_switchs     zCSelectorSocketTransportBufferedProtocolTests.test_proto_type_switchcCsn|}t|_t|j_t|jj_ d|j j _ | ||jj||jjj||jjjdS)Nr6)rrrrr)rrrr3r[rr8r(rr@rjr2rr r r test_buffer_updated_errors    zFSelectorSocketTransportBufferedProtocolTests.test_buffer_updated_errorcCsd|}t|_t|_t|j_t|jj _ d|j j _ ||jj ||jjdSr))rrrr rr)rrrrr[rr8r(rrSr@rjrr r r rs      zISelectorSocketTransportBufferedProtocolTests.test_read_eof_received_errorcCs:|}d|jj_||jjd|jjddS)Nr6r7) rrr8r(rrr2rSr3rr r r rs  z|}t|_d|jj_||jj |j dSr)) rrrr rr8r(rrrrSrr r r rs    z@SelectorSocketTransportBufferedProtocolTests.test_read_ready_eofcCsL|}t|_d|jj_d|jj_| |jj | |jj dS)NrT) rrrr rr8r(rrrrSrBrjrr r r rs    zJSelectorSocketTransportBufferedProtocolTests.test_read_ready_eof_keep_openrcCs6t|jj_|}t|_|| |jj dSr) rYrr8r[rrrrrrBrjrr r r rs   zESelectorSocketTransportBufferedProtocolTests.test_read_ready_tryagaincCs6t|jj_|}t|_|| |jj dSr) rrr8r[rrrrrrBrjrr r r rs   zQSelectorSocketTransportBufferedProtocolTests.test_read_ready_tryagain_interruptedcCsbt}|jj_|}t|_t | Wdn1sH0Y|j |dSr) rrr8r[rrrrr:r;rrSrr r r rs   &zGSelectorSocketTransportBufferedProtocolTests.test_read_ready_conn_resetcCs<t}|jj_|}t|_||j |ddSr) r^rr8r[rrrrrrSrr r r r$s z@SelectorSocketTransportBufferedProtocolTests.test_read_ready_err)N)rrrr%rrr4r5r9r:rrrrrrrrrrrr r r+r r,~s&          r,cseZdZfddZd>ddZddZdd Zd d Zd d ZddZ ddZ ddZ ddZ ddZ ddZddZddZeddd Zd!d"Zd#d$Zd%d&Zd'd(Zd)d*Zd+d,Zd-d.Zd/d0Zd1d2Zd3d4Zd5d6Zd7d8Zed9d:d;Z ed9d.MyExceptionNrr r r r MyExceptionPsror`r<rr) rr?rrBrrDrjrSr:rr)rrror!rr r r 'test_fatal_error_connected_custom_errorNs  zFSelectorDatagramTransportTests.test_fatal_error_connected_custom_error)N)#rrrr%r?rrrrErHrIrJrPrSrWrXrZrrr]r_rarbrdrerfrgrhrirkrlrmrnrprr r r+r r;1s@                   r;__main__)r )rmrrrr4 ImportErrorr Zasyncio.selector_eventsrrrrZtest.test_asynciorr:ANYrr r rr"ZTestCaser#rrr,r;rmainr r r r sB           J| 4-