python (3.11.7)

(root)/
lib/
python3.11/
test/
test_asyncio/
__pycache__/
utils.cpython-311.pyc

eIdZddlZddlZddlZddlZddlZddlZddlZddlZddl	Z	ddl
Z
ddlZddlZddl
Z
ddlZddlZddlZddlmZddlmZddlmZmZ	ddlZn
#e$rdZYnwxYwddlmZddlmZddlmZdd	lmZdd
lmZddlmZddl m!Z!dd
l"m#Z#dZ$dZ%e%ddZ&e%ddZ'e%ddZ(e%ddZ)ddddddddddd
Z*d Z+d!d"d#Z,d$Z-d%Z.e!j/fd&Z0d'Z1Gd(d)eZ2Gd*d+eZ3Gd,d-Z4Gd.d/e4e3Z5d0d1d2Z6e7e	d3rfGd4d5e
j8eZ9Gd6d7e9eZ:Gd8d9e:Z;Gd:d;e4e;Z<d<Z=ej>d=Z?ej>d0d1d>Z@ej>d?dd0d@dAZAdBZBej>d?ddCdDZCdEZDGdFdGejEZFGdHdIejGZHdJZIGdKdLeJZKGdMdNZLdOZMGdPdQejNZNej>dRZOe	jPe	jQe	jRfdSZSdTZTdS)UzUtilities shared by tests.N)mock)
HTTPServer)WSGIRequestHandler
WSGIServer)base_events)events)format_helpers)futures)tasks)logger)support)threading_helper皙?cttdrBtjjtjg|R}tj|r|Stjjtjtdg|R}tj|r|Sttj|)N
TEST_HOME_DIRz..)
hasattrr
ospathjoinrisfiledirname__file__FileNotFoundError)filenamefullnames  K/BuggyBox/python/3.11.7/bootstrap/lib/python3.11/test/test_asyncio/utils.py	data_filer.sw((7< 5AAAA
7>>(##	Ow|BGOOH55tGhGGGH	w~~h
BGLL22
3
33certdatazssl_cert.pemzssl_key.pemzkeycert3.pemzpycacert.pem)z)http://testca.pythontest.net/testca/ocsp/)z0http://testca.pythontest.net/testca/pycacert.cer)z2http://testca.pythontest.net/testca/revocation.crl))countryNameXY))organizationNamezPython Software Foundation CA))
commonNamez
our-ca-serverzOct 28 14:23:16 2037 GMTzAug 29 14:23:16 2018 GMTCB2D80995A69525C)r ))localityNamezCastle Anthrax))r#zPython Software Foundation))r$	localhost))DNSr')
OCSP	caIssuerscrlDistributionPointsissuernotAfter	notBeforeserialNumbersubjectsubjectAltNameversionctjtj}|tt
d|_tj|_|SNF)	ssl
SSLContextPROTOCOL_TLS_SERVERload_cert_chainONLYCERTONLYKEYcheck_hostname	CERT_NONEverify_mode)server_contexts rsimple_server_sslcontextr@PsB^C$;<<N""8W555$)N!!$NrTdisable_verifycvtjtj}d|_|rtj|_|Sr5)r6r7PROTOCOL_TLS_CLIENTr<r=r>)rBclient_contexts  rsimple_client_sslcontextrFXs4^C$;<<N$)N!3%(]"rc4tdStdS)NTrA)r6rFrrdummy_ssl_contextrI`s
{t't<<<<rcd}|}||}d|_	|||dS#|wxYw)Nc
KdSNrHrHrroncezrun_briefly.<locals>.oncehsrF)create_task_log_destroy_pendingrun_until_completeclose)looprMgents    rrun_brieflyrUgsu


$&&CA#A"""				sAA,ctj|z}|sd|/|tjz
}|dkrtj|tjd|bdSdS)NrgMbP?)time	monotonicr
TimeoutErrorrPrsleep)rRpredtimeoutdeadlines    r	run_untilr^us~')Hdff4!1!11G!||*,,,E 2 2333dff44444rcb||j|dS)zLegacy API to run once through the event loop.

    This is the recommended pattern for test code.  It will poll the
    selector once and run all callbacks scheduled in response to I/O
    events.
    N)	call_soonstoprun_forever)rRs rrun_oncercs0	NN49rceZdZdZdZdS)SilentWSGIRequestHandlerc(tjSrL)ioStringIOselfs r
get_stderrz#SilentWSGIRequestHandler.get_stderrs{}}rcdSrLrH)rjformatargss   rlog_messagez$SilentWSGIRequestHandler.log_messagerN)__name__
__module____qualname__rkrorHrrreres2




rrec2eZdZejZfdZdZxZS)SilentWSGIServerct\}}||j||fSrLsuperget_request
settimeoutrequest_timeoutrjrequestclient_addr	__class__s   rryzSilentWSGIServer.get_requests?$ww22444/000##rcdSrLrHrjr}client_addresss   rhandle_errorzSilentWSGIServer.handle_errorrpr)	rqrrrsr
LOOPBACK_TIMEOUTr{ryr
__classcell__rs@rrurusO.O$$$$$







rruceZdZdZdS)SSLWSGIServerMixinc*tjtj}|tt
||d}	|||||dS#t$rYdSwxYw)NT)server_side)
r6r7r8r9r:r;wrap_socketRequestHandlerClassrQOSError)rjr}rcontextssocks     rfinish_requestz!SSLWSGIServerMixin.finish_requests
.!899'222##G#>>	$$UNDAAAKKMMMMM			DD	s+B
BBN)rqrrrsrrHrrrrs#rrceZdZdS)
SSLWSGIServerNrqrrrsrHrrrrsDrrF)use_sslc#Kdfd}|r|n|}||t|j_t	jfd}|	V|	dS#|	wxYw)Nc3Kt|d}|rC|dt|d}|V|t|z}|AdSdS)NCONTENT_LENGTHz
wsgi.inputi)intreadminlen)environsizedatas   rrRz_run_test_server.<locals>.loopsz7+,--	<(--c$.@.@AADJJJCIID					rcZd}dg}||||ddkr|SdgS)Nz200 OK)zContent-typez
text/plain	PATH_INFOz/loopsTest messagerH)rstart_responsestatusheadersrRs    rappz_run_test_server.<locals>.appsI12vw''';7**4== #$$rc0dS)Nr)
poll_interval)
serve_forever)httpdsr<lambda>z"_run_test_server.<locals>.<lambda>su***>>rtarget)
reset_appserver_addressaddress	threadingThreadstartshutdownserver_closer)	rr
server_clsserver_ssl_clsrserver_class
server_threadrrRs	       @@r_run_test_serverrs+%%%%%&-<>>*LL":;;E	MM#(EM$>>>>@@@M

	
s2B44>C2AF_UNIXceZdZdZdS)UnixHTTPServerc`tj|d|_d|_dS)N	127.0.0.1P)socketserverUnixStreamServerserver_bindserver_nameserver_portris rrzUnixHTTPServer.server_binds/)55d;;;*D!DrN)rqrrrsrrHrrrrs#	"	"	"	"	"rrc2eZdZejZdZfdZxZS)UnixWSGIServercbt||dSrL)rr
setup_environris rrzUnixWSGIServer.server_binds.&&t,,,     rct\}}||j|dfS)N)rrwr|s   rryzUnixWSGIServer.get_requestsB#(77#6#6#8#8 G[t3444---r)	rqrrrsr
rr{rryrrs@rrrsO!2	!	!	!		.		.		.		.		.		.		.		.		.rrceZdZdZdS)SilentUnixWSGIServercdSrLrHrs   rrz!SilentUnixWSGIServer.handle_errorsDrN)rqrrrsrrHrrrrs#					rrceZdZdS)UnixSSLWSGIServerNrrHrrrrsrrcjtj5}|jcdddS#1swxYwYdSrL)tempfileNamedTemporaryFilename)files rgen_unix_socket_pathrsw

(
*
*	d9																		s(,,c#Kt}	|V	tj|dS#t$rYdSwxYw#	tj|w#t$rYwwxYwxYwrL)rrunlinkr)rs runix_socket_pathrs#%%	JJJ
	$




	$



s9>-
;;A%AA%
A"A%!A""A%c#Kt5}t||ttEd{VddddS#1swxYwYdSN)rrrr)rrrr)rrs  rrun_test_unix_serverrs


	J4'g3G7HJJJ
J
J
J
J
J
J
J	J	J	J	J	J	J	J	J	J	J	J	J	J	J	J	J	J	Js$AA	Arhostportrc#TKt||f|ttEd{VdSr)rrurrs   rrun_test_serverrsStg+;/<>>>>>>>>>>>>rc	|d\}}|dkr|dS|||K)NTiSTOP)recvfromrQsendto)sockraddrs   recho_datagramsr"sP$]]4((
d7??JJLLLEKKd###
$r)rrc#D	Ktj||tj}|d\}}}}}tj|||		||ft	j	fd}|		V	d	|	dS#	d	|	wxYw)N)typerc"tSrL)r)rsrrz%run_udp_echo_server.<locals>.<lambda>2s^D-A-Arrr)
socketgetaddrinfo
SOCK_DGRAMbindrrrgetsocknamerr)
rr	addr_infofamilyrproto_sockaddrthreadrs
         @rrun_udp_echo_serverr,s"4F4EFFFI'0|$FD%H=u--DIItTl

%A%A%A%A
B
B
BF
LLNNN     GT--//000




	
GT--//000



s
C!!>Dci}t|D]@}|dr|dr-td||<At	d|f|jz|S)N__)return_valueTestProtocol)dir
startswithendswithMockCallbackr	__bases__)basedctrs   rmake_test_protocolr;s
CD		44??4  	T]]4%8%8	 d333D		>4$. 8#>>@@@rc.eZdZdZddZdZdZdZdS)TestSelectorci|_dSrLkeysris r__init__zTestSelector.__init__Gs
			rNcHtj|d||}||j|<|S)Nr)	selectorsSelectorKeyr)rjfileobjrrkeys     rregisterzTestSelector.registerJs)#GQ== 	'
rc6|j|SrL)rpop)rjrs  r
unregisterzTestSelector.unregisterOsy}}W%%%rcgSrLrH)rjr\s  rselectzTestSelector.selectRs	rc|jSrLrris rget_mapzTestSelector.get_mapUs
yrrL)rqrrrsrr
rrrrHrrrrEsd
&&&rrceZdZdZdfd	ZdZdZfdZdZdZ	d	Z
d
ZdZdZ
d
ZdZdZdZdZdZdZfdZddfd
ZdZdZxZS)TestLoopaLoop for unittests.

    It manages self time directly.
    If something scheduled to be executed later then
    on next loop iteration after all ready handlers done
    generator passed to __init__ is calling.

    Generator should be like this:

        def gen():
            ...
            when = yield ...
            ... = yield time_advance

    Value returned by yield is absolute time of next scheduled handler.
    Value passed to yield is time advance to move loop's time forward.
    Nczt|d}d|_nd|_||_t	|jd|_d|_g|_t|_	i|_
i|_|tj|_dS)Nc3KdVdSrLrHrHrrrSzTestLoop.__init__.<locals>.genpsrFTrg&.>)rxr_check_on_close_gennext_time_clock_resolution_timersr	_selectorreaderswritersreset_countersweakrefWeakValueDictionary_transports)rjrSrs  rrzTestLoop.__init__ls
;


#(D  #'D CEE	TY
!%%"688rc|jSrLrris rrWz
TestLoop.times
zrc.|r|xj|z
c_dSdS)zMove test time forward.Nr')rjadvances  radvance_timezTestLoop.advance_times(	"JJ'!JJJJ	"	"rct|jr;	|jdtd#t$rYdSwxYwdS)NrzTime generator is not finished)rxrQrrsendAssertionError
StopIteration)rjrs rrQzTestLoop.closes{


	G
G	q!!!%%EFFF!



	G	GsA
A! A!cDtj|||d|j|<dSrL)rHandler rjfdcallbackrns    r_add_readerzTestLoop._add_reader$!=4tDDRrcV|j|xxdz
cc<||jvr
|j|=dSdSNTF)remove_reader_countr rjr2s  r_remove_readerzTestLoop._remove_readerB $$$)$$$
R 45rc||jvrtd|d|j|}|j|krtd|jd||j|krtd|jd|dS)Nfd  is not registeredzunexpected callback:  != zunexpected callback args: )r r-	_callback_argsrjr2r3rnhandles     r
assert_readerzTestLoop.assert_readers
T\!! !=r!=!=!=>>>b!x'' H(8HHhHHJJ
J<4 EV\EEtEEGG
G rc>||jvrtd|ddS)Nr>z is registered)r r-r:s  rassert_no_readerzTestLoop.assert_no_readers1
 !9r!9!9!9:::rcDtj|||d|j|<dSrL)rr0r!r1s    r_add_writerzTestLoop._add_writerr5rcV|j|xxdz
cc<||jvr
|j|=dSdSr7)remove_writer_countr!r:s  r_remove_writerzTestLoop._remove_writerr<rc||jvrtd|d|j|}|j|krt|jd||j|krt|jd|dS)Nr>r?r@)r!r-rArBrCs     r
assert_writerzTestLoop.assert_writers
T\!! !=r!=!=!=>>>b!x'' F$4!H!HH!H!HIII<4 FL!@!@!@!@AAA rcrt|tsa	t|}n>#ttt
f$r$td|dwxYw	|j|}td||#t$rYdSwxYw)NzInvalid file object: {!r}z.File descriptor {!r} is used by transport {!r})

isinstancerfilenoAttributeError	TypeError
ValueErrorrmr%RuntimeErrorKeyError)rjr2	transports   r_ensure_fd_no_transportz TestLoop._ensure_fd_no_transports"c""	>
>%%"Iz:
>
>
> "((.r

449=>
>	$(,I@GG	##$$
$			DD	s!9;A48
B((
B65B6cJ|||j||g|RS)zAdd a reader callback.)rXr4r1s    r
add_readerzTestLoop.add_reader3$$R(((tH4t4444rcV||||S)zRemove a reader callback.)rXr;r:s  r
remove_readerzTestLoop.remove_reader*$$R(((""2&&&rcJ|||j||g|RS)zAdd a writer callback..)rXrIr1s    r
add_writerzTestLoop.add_writerr[rcV||||S)zRemove a writer callback.)rXrLr:s  r
remove_writerzTestLoop.remove_writerr^rc~tjt|_tjt|_dSrL)collectionsdefaultdictrr9rKris rr"zTestLoop.reset_counterss.#.#:3#?#? #.#:3#?#?   rct|jD]1}|j|}||2g|_dSrL)rx	_run_oncerrr,r*)rjwhenr)rs   rrgzTestLoop._run_onces_
L	'	'DinnT**Gg&&&&r)rct|j|tj||g|Rd|iS)Nr)rappendrxcall_at)rjrhr3rrnrs     rrkzTestLoop.call_atsAD!!!uwwtXFFFFgFFFrcdSrLrH)rj
event_lists  r_process_eventszTestLoop._process_eventssrcdSrLrHris r_write_to_selfzTestLoop._write_to_selfrprrL)rqrrrs__doc__rrWr*rQr4r;rErGrIrLrNrXrZr]r`rbr"rgrkrnrprrs@rrrYs$999999."""
GGGGGEEE	G	G	G;;;EEEBBB$$$"555
'''
555
'''
@@@6:GGGGGGG






rrc*tjdddgi|S)Nspec__call__rH)rMock)kwargss rrrs911:,1&111rceZdZdZdZdS)MockPatternzA regex based str with a fuzzy __eq__.

    Use this helper with 'mock.assert_called_with', or anywhere
    where a regex comparison between strings is needed.

    For instance:
       mock_call.assert_called_with(MockPattern('spam.*ham'))
    cvttjt||tjSrL)boolresearchstrSrjothers  r__eq__zMockPattern.__eq__s&BIc$ii55666rN)rqrrrsrqrrHrrrxrxs-77777rrxceZdZdZdZdS)MockInstanceOfc||_dSrL)_type)rjrs  rrzMockInstanceOf.__init__s



rc,t||jSrL)rPrrs  rrzMockInstanceOf.__eq__s%,,,rN)rqrrrsrrrHrrrrs2-----rrcVtj|}|td||S)Nzunable to get the source of )r	_get_function_sourcerT)funcsources  rget_function_sourcers1

0
6
6F
~jTTCDDDMrcDeZdZedZdddZd	dZdZdZdS)
TestCasec||jW|s(||n|jd|t
j}|	|}t|tjrpt|j
D]K}|tj|rt%d|dJdSdS#t&$rYdSwxYwdS)NT)wait)r\zthread z& still alive: subprocess still running)_default_executor	is_closedrPshutdown_default_executorrrQr
maybe_get_event_loop_policyget_child_watcherrPasyncioThreadedChildWatcherlist_threadsvaluesr
SHORT_TIMEOUTis_aliverUNotImplementedError)rRpolicywatcherrs    r
close_loopzTestCase.close_loopsu!->>##
;''(F(F(H(HIIII&//T/:::

466
K 2244
gw'CDDK"&w'7'>'>'@'@"A"AKKG,ABBB!??,,K".0J0J0J0J#K#KKK	KKKK
'



s	D++
D98D9T)cleanupc|tdtjd|r||j|dSdS)Nzloop is None)r-rset_event_loop
addCleanupr)rjrRrs   rrzTestCase.set_event_loop9sT< 000d###	3OODOT22222	3	3rNcNt|}|||SrL)rr)rjrSrRs   r
new_test_loopzTestCase.new_test_loopAs&}}D!!!rc6tj|_dSrL)rthreading_setup_thread_cleanupris rsetUpzTestCase.setUpFs/?AArctjd|tjd|t
j|jtj
dS)N)NNN)rrassertEqualsysexc_info
doCleanupsrthreading_cleanuprr

reap_childrenris rtearDownzTestCase.tearDownIshd###	
);<<<*D,@AArrL)	rqrrrsstaticmethodrrrrrrHrrrrsKK\K2/333333
BBB	 	 	 	 	 rrc#Ktj}	tjtjdzdVtj|dS#tj|wxYw)zrContext manager to disable asyncio logger.

    For example, it can be used to ignore warnings in debug mode.
    r8N)rlevelsetLevelloggingCRITICAL)	old_levels rdisable_loggerrUsaI#(*+++
	"""""	""""s%AA!ctjtj}||_||_||_d|j_|S)z'Create a mock of a non-blocking socket.g)r	MagicMockrrrr
gettimeoutr)rrrrs    rmock_nonblocking_socketrcs9>&-((DDJDIDK#&DO KrcKdfd}tj|tjdd{VdS)Ncl	D]}dS#t$r
}|Yd}~dSd}~wwxYwrL)	__await__
BaseException)rerrcoroexcs  rrz await_without_task.<locals>.funcps^	^^%%



			CCCCCCC	s
3.3r)rget_running_loopr`rZ)rrrs` @rawait_without_taskrns}
C((...
-


	r)Urqrrd
contextlibrgrrr{r	rrrrrrWunittestr#rhttp.serverrwsgiref.simple_serverrrr6ImportErrorrrr	r
rasyncio.logrtestr
test.supportr	CLOCK_RESrr:r;SIGNED_CERTFILE
SIGNING_CAPEERCERTr@rFrIrUrr^rcrerurrrrrrrrrrcontextmanagerrrrrrrBaseSelectorr
BaseEventLooprrr}rxrrrrIPPROTO_TCPSOCK_STREAMAF_INETrrrHrr<module>rs  												







""""""@@@@@@@@JJJJ
CCC """"""))))))
	4449Z00
)J
.
.)J77
Yz>
2
2
:FT0++&-.&04===#*"74444




1












z





&					&(8			*/     F769>J"""""6
"""........(~




.0D



(-JJJJJ'a>>>>>$$$ +!AAA9)(b
b
b
b
b
{(b
b
b
J222
7
7
7
7
7#
7
7
7--------4 4 4 4 4 x 4 4 4 n
#
#
##)"46;M#)>sAA'&A'