python (3.11.7)

(root)/
lib/
python3.11/
test/
__pycache__/
test_time.cpython-311.opt-1.pyc

eǩddlmZddlmZddlZddlZddlZddlZddlZddl	Z	ddl
Z
ddlZddlZddl
Z
	ddlZn
#e$rdZYnwxYwddlmZe
jdpdZddezdz
zdz
Zedz
d	zZd
ZdZd
ZdZdZGd
dejZdZdZejejfejejfej ej fej!ej!ffZ"Gdde
j#Z$Gdde
j#Z%GddZ&GddZ'GddZ(Gdde&e(e
j#Z)Gdde'e(e
j#Z*Gdd e
j#Z+e
j,edud!Gd"d#Z-Gd$d%e-e
j#Z.Gd&d'e-e
j#Z/e
j0e	jd(kd)Gd*d+e
j#Z1e2d,kre
j3dSdS)-)support)warnings_helperN)skip_if_buggy_ucrt_strfptime
SIZEOF_INTli@Biʚ;ceZdZdZdZdZdZdS)_PyTimerrN)__name__
__module____qualname__ROUND_FLOOR
ROUND_CEILINGROUND_HALF_EVENROUND_UPB/BuggyBox/python/3.11.7/bootstrap/lib/python3.11/test/test_time.pyr
r
s"KMOHHHrr
llceZdZdZdZdZdZeje	e
dddZeje	e
ddeje	e
dd	d
Zeje	e
ddeje	e
ddd
Z
eje	e
dddZeje	e
dddZdZdZdZdZdZdZdZdZedZdZdZdZd Zejej d!d"Z!eje	e
d#d$d%Z"d&Z#d'Z$d(Z%d)Z&d*Z'eje(j)d+d,kd-d.Z*d/Z+d0Z,ejej-d1d2Z.d3Z/eje	e
dd4d5Z0d6Z1d7Z2d8S)9TimeTestCasec6tj|_dSN)timetselfs rsetUpzTimeTestCase.setUp9srcftjtjtjtjdSr)raltzonedaylighttimezonetznamer s rtest_data_attributesz!TimeTestCase.test_data_attributes<s"



rctjtjd}||j||jdS)Nr)rget_clock_infoassertFalse	monotonic
assertTrue
adjustable)r!infos  r	test_timezTimeTestCase.test_timeBsM	"6**((((((((rcfd}|tjtj|tjtj|tjtj|tjtjttdr.|tj	tj
ttdrF|tjtjtj
tjdSdS)Nc|tt|dz}||z
d||fdS)NgeAl@F)assertIsInstanceint
assertLess)secnssec_nsr!s   rcheck_nsz0TimeTestCase.test_time_ns_type.<locals>.check_nsIsL!!"c***s^^FOOVb[7S"I>>>>>rthread_time
clock_gettime)rtime_nsr,monotonic_nsperf_counterperf_counter_nsprocess_timeprocess_time_nshasattrr:thread_time_nsr;CLOCK_REALTIMEclock_gettime_ns)r!r9s` rtest_time_ns_typezTimeTestCase.test_time_ns_typeHsg	?	?	?	?	?		!	!	!!!"$$	&	&	&"$$%''	)	)	)"$$%''	)	)	)4''	,HT%''(**
,
,
,4))	AHT'(;<<*4+>??
A
A
A
A
A	A	Arr;zneed time.clock_gettime()cxtjtj}||tdSr)rr;rDr3floatr!rs  rtest_clock_realtimez TimeTestCase.test_clock_realtimeas3
t233a'''''rCLOCK_MONOTONICzneed time.CLOCK_MONOTONICctjtj}tjtj}|||dSr)rr;rKassertLessEqual)r!abs   rtest_clock_monotonicz!TimeTestCase.test_clock_monotonicgsF

t344t344Q"""""rpthread_getcpuclockidz!need time.pthread_getcpuclockid()ctjtj}|t|tutjdkrCtj
dkr!||tj
n`tjdr!||tj
n ||tj
tj|}tj|}|||dS)NAIX sunos)rrQ	threading	get_identr-typer4platformsystemsysmaxsize
bit_lengthassertEqualCLOCK_THREAD_CPUTIME_ID
startswithassertNotEqualr;rM)r!clk_idt1t2s    rtest_pthread_getcpuclockidz'TimeTestCase.test_pthread_getcpuclockidps
+I,?,A,ABBV+,,,?%%3;+A+A+C+Cr+I+IVT%ABBBB
\
$
$W
-
-	FVT%ABBBB(DEEE


'
'


'
'R$$$$$rclock_getreszneed time.clock_getres()ctjtj}||d||ddS)N?)rrfrD
assertGreaterrM)r!ress  rtest_clock_getreszTimeTestCase.test_clock_getressI 3443$$$S#&&&&&r
clock_settimezneed time.clock_settime()c4tjtj}	tjtj|n#t$rYnwxYwttdr3|ttjtjddSdS)NrKr)	rr;rDrmPermissionErrorrBassertRaisesOSErrorrKrIs  rtest_clock_settimezTimeTestCase.test_clock_settimes
t233	t2A6666			D	4*++	Kg"0$2F
K
K
K
K
K	K	KsA
A
A
c	n|tj|jtjtj|j|t
tjtj|jt
|jdSr)r^rctimerasctime	localtimer4mktimer s rtest_conversionszTimeTestCase.test_conversionssDF++dnTV&<&<==	?	?	?T[)?)?@@AATV	&	&	&	&	&rc|ttjd|ttjdtjddS)Ng333333?)rp
ValueErrorrsleepr s r
test_sleepzTimeTestCase.test_sleepsG*dj"555*dj"555
3rctjd}|t|ddd|dS)Nr)irrrrr)rgmtimer^tuple)r!epochs  r
test_epochzTimeTestCase.test_epochs?Aubqb)+@%HHHHHrcdtj|j}dD]E}d|z}	tj||#t$r|d|zYBwxYw|ttjd||ttjd|dS)NrNArOBcdHIjmMpSUwWxXyYZ%z %z conversion specifier: %r failed.s%Sz%S)rrrstrftimer|failrp	TypeError)r!tt	directiveformats    r
test_strftimezTimeTestCase.test_strftimes
[
 
 G	G	GII%F
G
fb))))
G
G
G		<vEFFFFF
G	
)T]E2>>>*dmVR@@@@@s:"AAc
|d|d|t|d|t|d|d|d|t|d|t|d|d	|t|d
|t|d|d|t|d
|t|d|t|d|d|d|t|d||d|d|t|d|d|d|t|d|t|ddS)N)	r
rrrrrrrr{)	r
rrrrrrr{)	r
r{rrrrrrr{)	r

rrrrrrr{)	r
rrrrrrrr{)	r
rrrrrrr{)	r
rr{rrrrrr{)	r
rrTrrrrrr{)	r
rrrrrrr{)	r
rrr{rrrrr{)	r
rrrrrrr{)	r
rrr;rrrr{)	r
rrrr{rrrr{)	r
rrr<rrrr{)	r
rrrrr{rrr{)	r
rrrrrrrr{)	r
rrrr=rrr{)	r
rrrr>rrr{)	r
rrrrrr{rr{)	r
rrrrrrrr{)	r
rrrrrrzrr{)	r
rrrrrrrr{)	r
rrrrrrinr{)	r
rrrrrrr{r{)	r
rrrrrrior{)rpr|r^)r!funcs  r_bounds_checkingzTimeTestCase._bounds_checkings	

,---
-...*d<	>	>	>*d<	>	>	>	

,---
-...*d<	>	>	>*d<	>	>	>	

-...*d<	>	>	>*d<	>	>	>	

-...*d<	>	>	>*d<	>	>	>	
*d<	>	>	>	

-...
-...*d<	>	>	>	
>??>??	A	A	A*d<	>	>	>	

,---
.///*d<	>	>	>*d=	?	?	?	?	?rc2|ddS)Nc,tjd|S)Nrr)tups r<lambda>z;TimeTestCase.test_strftime_bounding_check.<locals>.<lambda>s$-C*@*@r)rr s rtest_strftime_bounding_checkz)TimeTestCase.test_strftime_bounding_checks @@AAAAArcdD]E}tddD]2}dD]-}	tj||z|z#t$rY*wxYw3FdS)N)rrz%Az%AAr)rzA%zAA%z%A%zA%A%z%#)rangerrr|)r!rrzs    rtest_strftime_format_checkz'TimeTestCase.test_strftime_format_checks
*		A3%%

BA
a!eai0000%
		s7
A	A	cd}tj5tjdd}dddn#1swxYwY|||dS)Nz2000 01 01 00 00 00 1 001z%Y %m %d %H %M %S %w %j)	rrrrrrrr)rcheck_warningsrrr^)r!expectedresults   rtest_default_values_for_zeroz)TimeTestCase.test_default_values_for_zeros
/

+
-
-	N	N]#<nMMF	N	N	N	N	N	N	N	N	N	N	N	N	N	N	N6*****s8<<c	tj|j}dD]^}d|z}tj||}	tj||3#t
$r|d|d|dY[wxYwdS)Nrrzconversion specifier z failed with 'z' input.)rrrrstrptimer|r)r!rrrstrf_outputs     r
test_strptimezTimeTestCase.test_strptimes[
 
 G		1		1I9_F-33K
1
k62222
1
1
1			!66;;;011111
1		1		1sA&A87A8c|ttjdd|ttjdddS)Ns2009%Y2009s%Y)rprrrr s rtest_strptime_bytesz TimeTestCase.test_strptime_bytess@)T]GTBBB)T]FEBBBBBrc|t5}tjdddddn#1swxYwY||jjd|t5}tjdddddn#1swxYwY||jjddS)Nrz%DT19z%Y %)rpr|rrassertIs	exception__suppress_context__)r!es  rtest_strptime_exception_contextz,TimeTestCase.test_strptime_exception_context s*


z
*
*	$aM"d###	$	$	$	$	$	$	$	$	$	$	$	$	$	$	$

ak6===


z
*
*	(aM$'''	(	(	(	(	(	(	(	(	(	(	(	(	(	(	(

ak6=====s!=AAB$$B(+B(c	tjtj|jtt
fD]b}tj|ddfdz}||tt|dt|c|	ttjtdzfdz|	ttjt
dz
fdz|	ttjd|	ttjd|	ttjddS)Nrrrrrrrrrrrrrrrrrr)
rrrrrrrrrr)rrurrTIME_MAXYEARTIME_MINYEARr^lenstrrp
OverflowErrorr)r!bigyearascs   rtest_asctimezTimeTestCase.test_asctime*s;T[(()))$\1	E	EG,A9::CS#c'll"3"3!3!4!45s7||DDDD-'!+-8	:	:	:-'!+-8	:	:	:)T\1555)T\2666)T\9=====rcD|tjdSr)rrrur s rtest_asctime_bounding_checkz(TimeTestCase.test_asctime_bounding_check9sdl+++++r(musl libc issue on Emscripten, bpo-46390ctjd}|tj|dtjd}|tj|ddD]q}	tj|ddfdz}|tj|d	dt	|[#t
tf$rYnwxYwdS)
N)	i	rrr4rrr{zSun Sep 16 01:03:52 1973)	rrrrrrrrr{zSat Jan  1 00:00:00 2000)idrri'r
r)rrwr^rtrr|r)r!ryeartestvals    r
test_ctimezTimeTestCase.test_ctime<s
K9::A(BCCCK788A(BCCC8	F	FD
F+tQmf&<==  G!4!4RSS!93t99EEEE
.



	F	Fs>CC*)C*tzsetz"time module has no attribute tzsetcRddlm}d}d}d}d}|dd}	||d<tj||d<tj|tj|tj||tjd|tj	d|tj|j
d||d<tj|tj|tj||tjd|ttjd	|tjd
|tj	d|tjd|tj|j
d|ttjd	||d<tj|tj|tj||tjdd
tjd|tjd
dvt#tjd
|ttjd	|tjd
|tj	d|tjd|tj|j
d
|||d<nd|vr|d=tjdS#|||d<nd|vr|d=tjwxYw)Nr)environgzAzEST+05EDT,M4.1.0,M10.5.0zAEST-10AEDT-11,M10.5.0,M3.5.0zUTC+0TZ)ESTEDTrrPFi@8AESTEST)AEDTri`siPe)osrgetrrr^rrvr%r&tm_isdstrar'rr$assertInr-r)r!rxmas2002easternvictoriautcorg_TZs       r
test_tzsetzTimeTestCase.test_tzsetNs{	 -2T$''5	$GDMJLLLGDMJLLLH%%t~h'?'?



T]A...T]A...T^H55>BBB$GDMJLLLH 5 5t~h7O7OPPPT[.999S--q111T]A...T]E222T\5111T^H55>BBBS--q111%GDMJLLLH 5 5t~h7O7OPPP
MM$+a.<$+a.IIIOODKNo=s4;q>?R?RSSSS--q111T]A...T]F333T\6222T^H55>BBB
! &

DMJLLLLL	! &

DMJLLLLsN8P$P&ctjtjtjfD]#}dD]}|t
||$dS)N)gZbtgZbti)rrtrrvrpr)r!runreasonables   rtest_insane_timestampsz#TimeTestCase.test_insane_timestampss`
JT^;	E	ED -
E
E!!-|DDDD
E	E	ErcTtjtjddSr)rrtr s rtest_ctime_without_argz#TimeTestCase.test_ctime_without_args%	

4rctj}tjd}tj|}tj|}|||ddSNg?)delta)rrrwassertAlmostEqual)r!gt0gt1t0rcs     rtest_gmtime_without_argz$TimeTestCase.test_gmtime_without_args[kmmk$
[


[

r2S11111rctj}tjd}tj|}tj|}|||ddSr)rrvrwr)r!lt0lt1rrcs     rtest_localtime_without_argz'TimeTestCase.test_localtime_without_args]nnT""
[


[

r2S11111rcdD]V}	tj|}|tj||@#tt
f$rYSwxYwdS)N)rzr{rr)rrvr^rwrrq)r!rrs   rtest_mktimezTimeTestCase.test_mktimesy	5	5A
5^A&&  R!4444"7+



	5	5sAAArglibcz0disabled because of a bug in glibc. Issue #13309c,tj|j}tjd|}||d	tjdn#t$rYnwxYw|tjd||dS)N%ZLMT)	r{rrrrrr{r{r{)rrrrrarwrr^)r!rr's   rtest_mktime_errorzTimeTestCase.test_mktime_errors[
 
 tR((FE***	K78888			D	tR00&99999sA
A('A(cdtdD}|d}|ddD]}|||d|z|}tj}tjdtj}||z
}||||d|ktjd}||j||j	dS)	Nc4g|]}tjSr)rr,).0ns  r
<listcomp>z/TimeTestCase.test_monotonic.<locals>.<listcomp>s 666a!!666rrrrztimes=%sg?g?r,)
rassertGreaterEqualrr,r}rjr-r*r+r.)r!timesrcrddtr/s      rtest_monotoniczTimeTestCase.test_monotonics665::666
1X)		B##BJ,>???BB^


3
^


"W2r"""	
$$$";//''')))))rc,tjdSr)rr>r s rtest_perf_counterzTimeTestCase.test_perf_countersrz"process_time not available on WASIc<tj}tjdtj}|||z
dtjd}||j||jdS)N皙?{Gz?r@)	rr@r}r5r*r-r,r+r.r!startstopr/s    rtest_process_timezTimeTestCase.test_process_times
!##
5 ""	
ue,,,">22''')))))rcttdsWtjdr#|dtjn|dtj}tjdtj}|	||z
dtj
d}||j|
|jdS)Nr:)linuxwinz*time.thread_time() should be available on zneed time.thread_timerr)rBrr[rYr`rskipTestr:r}r5r*r-r,r+r.r s    rtest_thread_timezTimeTestCase.test_thread_timest]++	7|&&'788
7			 \\,----

5666 ""
5!!	
ue,,,"=11''')))))rzneed time.clock_settimectj}tjtj}	tjtj|dz
n,#t
$r}||Yd}~nd}~wwxYwtj}tjtj||||dS)Ni)rr,r;rDrmror'r)r!rcrealtimeerrrds     rtest_monotonic_settimez#TimeTestCase.test_monotonic_settimes^

%d&9::	t2HtODDDD			MM#	
^

4.999B'''''s"A
A? A::A?c6d}dD]J}	tj|#t$r|dY9t$r|}YnwxYw||d|ttj||ttj||ttjtd|ttjtddS)N)r{i@llzneed 64-bit time_tz&unable to find an invalid time_t valuenan)	rrvrr'rqrprtr|rH)r!invalid_time_ttime_ts   rtest_localtime_failurez#TimeTestCase.test_localtime_failures/		F
v&&&& 
4
4
4

233333


!'
!MMBCCC'4>>BBB'4:~>>>	
*dneEllCCC*dj%,,?????sA
A
A
cgd}ttdr|d|D]}||5tj|}||jt||jd||j	t||jt|
|jd||jd||jtdddn#1swxYwY|t"tjddS)N)r,r>r@rr:)namerrhrixxx)rBrappendsubTestr*r3implementationrrar,bool
resolutionrHrjrMr.rpr|)r!clocksr3r/s    rtest_get_clock_infoz TimeTestCase.test_get_clock_info4s


4''	)MM-(((	=	=D4((

=

=*400%%d&93???##D$7<<<%%dnd;;;%%dou===""4?C888$$T_c:::%%dot<<<

=

=

=

=

=

=

=

=

=

=

=

=

=

=

=	
*d&95AAAAAs
C&D<<E	E	N)3rrrr"r(r0rFunittest
skipUnlessrBrrJrPrerlrrrxr~rrrrrrrrrrrrskipIfr
is_emscriptenrrrrrr
rrYlibc_verrrris_wasir#r(r,r1r;rrrrr7s)))AAA2X77466((66(X77466X'899466##6666#
X'>??<>>X77466
%
%66>>
%X~66355''55'
X77466	K	K66	K&&&
III
A
A
A7?7?7?rBBB+++"
1
1"!
1CCC
>>>
>
>
>,,,X_I
F
F
FXw//=??GG??GREEE222222555X**,,Q/7:KMM::MM:***.X_=******(X77244((44(@@@*BBBBBrrc eZdZdZdZdZdS)
TestLocalecLtjtj|_dSrlocale	setlocaleLC_ALLoldlocr s rr"zTestLocale.setUpOs&v}55rcNtjtj|jdSrrEr s rtearDownzTestLocale.tearDownRs44444rc	tjtjd}n*#tj$r|dYnwxYwtjdddS)Nfr_FRz$could not set locale.LC_ALL to fr_FRz%B)	irrrrrrrr)rFrGrHErrorr'rr)r!tmps  r
test_bug_3061zTestLocale.test_bug_3061Uss	B"6='::CC|	B	B	BMM@AAAAA	B	

d233333s"$A	A	N)rrrr"rKrPrrrrCrCNsA66655544444rrCceZdZdZdZdZdS)_TestAsctimeYear%dcbtj|fdzdS)Nrr{)rrusplitr!rs  ryearstrz_TestAsctimeYear.yearstras)|QD8O,,2244R88rc||dd||dddS)N9012345[	123456789)r^rWr s rtest_large_yearz _TestAsctimeYear.test_large_yeardsLe,,g666i00+>>>>>rN)rrr_formatrWr]rrrrRrR^s7G999?????rrRceZdZejdddkrdZndZdZeje	j
ddZd	Zed
fdZ
edfd
Z[xZS)_TestStrftimeYearr)	rrrrrrrrr0001%04drSc4tjd|fdzS)NrrrrVs  rrWz_TestStrftimeYear.yearstrus}TA4(?333rzrequires strftime extensionc~|jdkr|ddSd}|d|dS)Nrbc4tjd|fdzS)Nz%4Yrr)rs ryear4dz-_TestStrftimeYear.test_4dyear.<locals>.year4ds}UQD8O<<<r)r)r^	test_year)r!rfs  rtest_4dyearz_TestStrftimeYear.test_4dyearxsT
<6!!NN6"""""
=
=
=NN6N/////rcd}	tjd|fdzd}n#t$rd}YnwxYwtj||S)Nz5strftime() is limited to [1; 9999] with Visual StudiorrTF)rrr|r<r=)rmsgconds   rskip_if_not_supportedz'_TestStrftimeYear.skip_if_not_supportedshE	M$x000DD			DDD	"4---s //rcDtSr)superr]r!	__class__s rr]z!_TestStrftimeYear.test_large_yearsww&&(((rrcDtSr)rn
test_negativeros rrrz_TestStrftimeYear.test_negativesww$$&&&r)rrrrrr^rWr<r=rhas_strftime_extensionsrhrlr]rr
__classcell__)rps@rr`r`ist}T?++v55444X')F000	.	.	.5!!))))"!)1'''''	rr`c&eZdZdZddZdZdZdS)_Test4dYearrSNc|p|j}|p|j}||d|dz||d|dz||d|dz||d|dz||d|dz||d|dzdS)NrDEc')r^rWr^)r!fmtrs   rrgz_Test4dYear.test_years!T\#t|aS1W---bS2X...bS2X...bS2X...cS3Y///dS4Z00000rc||ddd||ddd||tdt	t|t|jtdzdS)NrY+rZr[r\r)r^rWlstriprrrprr s rr]z_Test4dYear.test_large_yearse,,33C88'BBBi0077<<kJJJl33::3??\ARARSSS-|a7GHHHHHrcX||d|jdz||dd||dd||dtd||dtd||ttt|t|jtdz
|t5|tdz
ddddS#1swxYwYdS)	Nr{i.z-1234iz-123456i2i.ir)r^rWr^rrrprrr s rrrz_Test4dYear.test_negativesb))4<"+<===e,,g666g..	:::j113z??CCCk22C4D4DEEEl33S5F5FGGG-|a7GHHH


}
-
-	,	,LL,*+++	,	,	,	,	,	,	,	,	,	,	,	,	,	,	,	,	,	,s3FF#&F#)NN)rrrr^rgr]rrrrrrvrvsNG1111III
,
,
,
,
,rrvceZdZdS)TestAsctime4dyearNrrrrrrrrDrrceZdZdS)TestStrftime4dyearNrrrrrrrrrc(eZdZeejejdkdeje	j
ddZejejdkddZejejdkddZ
dS)
TestPytimezneeds tm_zone supportrctj}|t|d|t|d|j*|ttdn=||jtjtjg|j|j	*|ttdn0||j	tj
|jtj|}tj|dd}|||tj|}tj|}|||||j|j||j	|j	|||||j|j||j	|j	dS)N	tm_gmtofftm_zoner&r'r)rrvr-rBrr^r&r$rrr'rw)r!ltrt9new_ltnew_lt9s      rtest_localtime_timezonez"TestPytime.test_localtime_timezones^

K00111I..///<OOj 9 99::::R\T]DL,I"+,V+VWWW
:OOh 7 778888RZR[)ABBB

KOO$+b!f"5"5RB""dnR.@.@G$$$)2<888444"%%%)2<888"*55555rctjdd}||jdtjdd}||jddS)NUTCrz+0500z%zr)rrr^rrrIs  rtest_strptime_timezonez!TestPytime.test_strptime_timezonesZM%&&E***M'4((h/////rcddl}d}||}||jd||jddS)NrsLctime
struct_time
p0
((I2007
I8
I11
I1
I24
I49
I5
I223
I1
tp1
(dp2
tp3
Rp4
.)pickleloadsrrr)r!rstrs    rtest_short_timeszTestPytime.test_short_timessX	


m
\\"



blD)))

bj$'''''rN)rrrrr<r=r_STRUCT_TM_ITEMSr>rr?rrrrrrrrs!X."46MNNX_I 6 6ON"!
 6DX."46MNN00ON0X."46MNN((ON(((rrzneed the _testcapi modulecLeZdZdZdZdZdZdZ	ddZ	ddZ		dd	Z
d
ZdS)
CPyTimeTestCasez1
    Base class to test the C _PyTime_t API.
    NcRddlm}|dzdz
}d|z|_d|zdz
|_dS)Nr)
SIZEOF_TIME_Tr	rr)	_testcapir
time_t_min
time_t_max)r!rbitss   rr"zCPyTimeTestCase.setUpsC++++++q 1$9*t)a-rc6|j|cxko
|jkncSr)rr)r!secondss  r
time_t_filterzCPyTimeTestCase.time_t_filter	s(7====do====>rc
<dtttg}|r|dd}dg}|D]$}|D]}||z}|||f %dD]9}d|ztz}||dz
||dz|dz
||dzf:t
jt
jfD]}	||	tz |r#dD] }d|z}|||f!d	tztz}|||f|S)
z'Build timestamps used to test rounding.rgMbP?)rr{iirrzr{r|ii?Biiiiiii	i
ir)	rrrrr!r)rrrrg@l)US_TO_NSMS_TO_NS	SEC_TO_NSr5extendrINT_MININT_MAX)
r!	use_floatunitsvalues
ns_timestampsunitvaluer7pow2rs
          r_rounding_valuesz CPyTimeTestCase._rounding_valuessHh	2	LL
$
	0	0D
0
0T\$$rc2Y////
07		Dt)y(B  AsRCE1b"Q$"



")9+<=	6	6G  9!45555	0&
0
0dU^$$rc2Y////"i
/rc2Y'''rcfd}|}||}tD]\}	}
tj5}|
|_|D]_}||
d}
	|||	}||}n(#t
$r|d|
zYnwxYw||||
`	dddn#1swxYwY|jtz}||f}||}tD]O\}	}|D]G}||	d}
|
t|
5|||	dddn#1swxYwYHPdS)Ncr&ttzfd|D}ntzfd|D}rt|}tt	|S)Ncg|]}|zSrrrr7
unit_to_nss  rrzKCPyTimeTestCase._check_rounding.<locals>.convert_values.<locals>.<listcomp>EsBBBb"z/BBBrcg|]}|zSrrrs  rrzKCPyTimeTestCase._check_rounding.<locals>.convert_values.<locals>.<listcomp>HsCCCr"
*CCCr)rrHfiltersortedset)rrrunit_to_secrvalue_filters  @rconvert_valuesz7CPyTimeTestCase._check_rounding.<locals>.convert_valuesBs
D&{););;
BBBBMBBB&+5
CCCC]CCC
6f55#f++&&&r)rroundingz!Error on timestamp conversion: %s)rj)rROUNDING_MODESdecimallocalcontextr	Exceptionrr^OVERFLOW_SECONDSrrpr)r!pytime_converter
expected_funcrrrrrvalid_valuestime_rnddecimal_rndcontextr
debug_inforrr7overflow_values_s   ```             r_check_roundingzCPyTimeTestCase._check_rounding?s_	'	'	'	'	'	'	'--i88
%~m44%3
	1
	1!Hk%''
17#. )	1	1E+0k!J!JJT!1!1%!B!B#0=#7#7$TTT		"E
"RSSSSST$$V%-%/1111	1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
"Y
.b	
(.77)	6	6KHa(
6
6',(CC
&&}*&EE66$$UH555666666666666666
6	6	6sH
CA43C4"B	CB	CC	C	
D66D:=D:rc8|||d||dS)NFrr!rrrrs     rcheck_int_roundingz"CPyTimeTestCase.check_int_roundingls0-}"K	?	?	?	?	?rc8|||d||dS)NTrrs     rcheck_float_roundingz$CPyTimeTestCase.check_float_roundingqs0-}!;	>	>	>	>	>rcrtj|}|d}t|S)Nr)rDecimalquantizer4)r!rrs   r
decimal_roundzCPyTimeTestCase.decimal_roundvs+OA
JJqMM1vv
rr)rN)rrr__doc__rr"rrrrrrrrrrrs(((???111h>B+6+6+6+6\8<????:>>>>>
rrc:eZdZdZejdezZdZdZ	dZ
dZdZe
jeedd	d
Ze
jeeddd
Ze
jeedddZdZdZdS)TestCPyTimez#
    Test the C _PyTime_t API.
    lcddlmd}|fdd|tD]O\}}|t
5t
ddddn#1swxYwYPdS)Nr)PyTime_FromSecondscJtj|cxkotjkncSr)rrrsecss rc_int_filterz2TestCPyTime.test_FromSeconds.<locals>.c_int_filters*%BBBB1BBBBBCrc|Srr)rrndrs  rrz.TestCPyTime.test_FromSeconds.<locals>.<lambda>s2D2DT2J2Jrc|tzSrrrs rrz.TestCPyTime.test_FromSeconds.<locals>.<lambda>sTI-=rrr.)rrrrrprrH)r!rrrrs    @rtest_FromSecondszTestCPyTime.test_FromSecondss000000	D	D	D	
 J J J J = =-9	 	;	;	;
*	1	1KHa""9--
1
1""5<<000
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1	1	1s
A22A6	9A6	c$ddlm}|d|fdtD]P\}}t5|td|dddn#1swxYwYQdS)Nr)PyTime_FromSecondsObjectc|tzSrrrs rrz4TestCPyTime.test_FromSecondsObject.<locals>.<lambda>s	)rc>|tzSr)rr)r7r!s rrz4TestCPyTime.test_FromSecondsObject.<locals>.<lambda>st))"y.99rr.)rrrrrrpr|rH)r!rrrs`   rtest_FromSecondsObjectz"TestCPyTime.test_FromSecondsObjects666666$))	+	+	+	
!!$9999	;	;	;
*	A	AKHa"":..
A
A((ux@@@
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A	A	AsBB	B	cddlmd}|fd|ttD]O\}}|t5tddddn#1swxYwYPdS)Nr)PyTime_AsSecondsDoublect|tzdkrt|tzSt|tzSNr)absrrHr7s rfloat_converterz9TestCPyTime.test_AsSecondsDouble.<locals>.float_converters;2ww"a''R9_---Ryy9,,rc|Srr)r7rrs  rrz2TestCPyTime.test_AsSecondsDouble.<locals>.<lambda>s0F0Fr0J0Jrr.)rrr	NS_TO_SECrrprrH)r!rrrrs    @rtest_AsSecondsDoublez TestCPyTime.test_AsSecondsDoubles444444	-	-	-	
 J J J J / )	+	+	+
*	5	5KHa""9--
5
5&&uU||444
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5	5	5sA55A9	<A9	c>tj|fd}|S)Nc\tj|z}|Sr)rrr)rrdenomr!s  r	converterz7TestCPyTime.create_decimal_converter.<locals>.converters+&&.A%%a(((r)rr)r!denominatorrrs`  @rcreate_decimal_converterz$TestCPyTime.create_decimal_converters9,,	)	)	)	)	)	)rcddlm}|tfd}tjdkrddlmmfd}n|j}|	||t|dS)Nr)PyTime_AsTimevalcD|}t|tSr)divmod	SEC_TO_US)r7usus_converters  rtimeval_converterz5TestCPyTime.test_AsTimeval.<locals>.timeval_converters"b!!B"i(((rwin32LONG_MINLONG_MAXc$|cxkokncSrr)rrrs rseconds_filterz2TestCPyTime.test_AsTimeval.<locals>.seconds_filters%43333833333rr)rrrrr[rYrrrrr)r!rrrrrr
s    @@@rtest_AsTimevalzTestCPyTime.test_AsTimevals......44X>>	)	)	)	)	)<7""44444444
4
4
4
4
4
4
4"/N 0 1 )-;	 	=	=	=	=	=rPyTime_AsTimespecz need _testcapi.PyTime_AsTimespeccfddlmd}|fd|t|jdS)Nr)rc,t|tSr)r
rrs rtimespec_converterz7TestCPyTime.test_AsTimespec.<locals>.timespec_converters"i(((rc|Srr)r7rrs  rrz-TestCPyTime.test_AsTimespec.<locals>.<lambda>s0A0A"0E0Err)rrrrr)r!rrs  @rtest_AsTimespeczTestCPyTime.test_AsTimespecsl	0/////	)	)	)	
 E E E E 2 )-1-?	 	A	A	A	A	ArPyTime_AsTimeval_clampz%need _testcapi.PyTime_AsTimeval_clampcddlm}tjdkr
ddlm}m}|}|}n|j}|j}ttfD]}||tj}tj
5}tj|_|tj|t"z}	dddn#1swxYwYt%|	t&\}
}||
kr|}
d}n
|
|kr|}
d}|||
|fdS)Nr)rrr)rrr[rYrrrr_PyTime_MIN_PyTime_MAXr
rrrrrrrr
rr^)r!rrr
tv_sec_max
tv_sec_minrtsrrtv_sectv_usecs            rtest_AsTimeval_clampz TestCPyTime.test_AsTimeval_clamps	544444<7""44444444!J!JJJJ{+	4	4A''7+@AAB%''
G7#*#8 ''(:(:X(EFF
G
G
G
G
G
G
G
G
G
G
G
G
G
G
G%R33OFGF""#*$$#R&'!23333	4	4s+AB88B<	?B<	PyTime_AsTimespec_clampz&need _testcapi.PyTime_AsTimespec_clampcddlm}ttfD]f}||}t	|t
\}}|j|kr
|j}d}n||jkr	|j}d}||||fgdS)Nr)r&)	rr&rrr
rrrr^)r!r&rr"r#tv_nsecs      rtest_AsTimespec_clampz!TestCPyTime.test_AsTimespec_clamps	655555{+		4		4A((++B$Q	22OFG''$/))R&'!23333		4		4rczddlm}|||tt
dS)Nr)PyTime_AsMilliseconds)rr+rrrr)r!r+s  rtest_AsMillisecondszTestCPyTime.test_AsMilliseconds
M333333 5 $ = =h G G )	+	+	+	+	+rczddlm}|||tt
dS)Nr)PyTime_AsMicroseconds)rr/rrrr)r!r/s  rtest_AsMicrosecondszTestCPyTime.test_AsMicrosecondsr-rN)rrrrmathceilrrrrrrrr<r=rBrrr%r)r,r0rrrrr|sk!ty)y!899111 AAA 555$===.X,?@@;==	A	A==	AX,DEE@BB44BB42X,EFFACC44CC4++++++++rrc.eZdZdZdZdZdZdZdZdS)
TestOldPyTimezH
    Test the old C _PyTime_t API: _PyTime_ObjectToXXX() functions.
    lcddlm}||d|j|||j|jdS)Nr)pytime_object_to_time_tc|Srrrs rrz5TestOldPyTime.test_object_to_time_t.<locals>.<lambda>(sTrr)rr6rrrr)r!r6s  rtest_object_to_time_tz#TestOldPyTime.test_object_to_time_t$s555555 7 1 1-1-?	 	A	A	A	
!!"9"&"4/3/A	"	C	C	C	C	Crcfd}|S)Nctj|\}}t|}|z}|}|dkr|z
}|dz}n|kr
|z}|dz
}||fS)Nrr)r1modfr4r)r	floatpartintpartsec_to_unitr!s   rrz1TestOldPyTime.create_converter.<locals>.converter0s!%4Iw'llG$I**955I1}}[(	1k))[(	1Y''rr)r!r>rs`` rcreate_converterzTestOldPyTime.create_converter/s*	(	(	(	(	(	(rchddlm}||d|j|||t|jtD]P\}}|t5|td|dddn#1swxYwYQdS)Nr)pytime_object_to_timevalc
|dfSrrrs rrz6TestOldPyTime.test_object_to_timeval.<locals>.<lambda>B
dAYrrr.)rrArrrr?rrrpr|rH)r!rArrs    rtest_object_to_timevalz$TestOldPyTime.test_object_to_timeval>s6666666 8 6 6-1-?	 	A	A	A	
!!":"&"7"7	"B"B/3/A	"	C	C	C
*	A	AKHa"":..
A
A((ux@@@
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A	A	AB&&B*	-B*	chddlm}||d|j|||t|jtD]P\}}|t5|td|dddn#1swxYwYQdS)Nr)pytime_object_to_timespecc
|dfSrrrs rrz7TestOldPyTime.test_object_to_timespec.<locals>.<lambda>RrCrrr.)rrGrrrr?rrrpr|rH)r!rGrrs    rtest_object_to_timespecz%TestOldPyTime.test_object_to_timespecNs6777777 9 6 6-1-?	 	A	A	A	
!!";"&"7"7	"B"B/3/A	"	C	C	C
*	B	BKHa"":..
B
B))%,,AAA
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B	B	BrEN)	rrrrrr8r?rDrIrrrr4r4sm
	C	C	C


AAA BBBBBrr4darwinztest weak linking on macOSceZdZdZdS)TestTimeWeaklinkingcddl}ddl}|j}d}||vs||stj|dtd|jddD}gd}|dkr4|D]/}|tt|d|d0dS|D]/}|tt|d|d	0dS)
NrHAVE_CLOCK_GETTIMEz is not availablec34K|]}t|VdSr)r4)rrs  r	<genexpr>z;TestTimeWeaklinking.test_clock_functions.<locals>.<genexpr>ns(II1AIIIIIIr.)rKr;rErmclock_settime_nsrf)rrztime.z
 is available)	sysconfigrYget_config_varsr<SkipTestrmac_verrUr-rBrr+)r!rSrYconfig_varsvar_namerVclock_namesr3s        rtest_clock_functionsz(TestTimeWeaklinking.test_clock_functionsesL/i/11';&&k(.C&#x$B$B$BCCCII(8(8(:(:1(=(C(CC(H(HIIIII000h#
V
Vd 3 35TT5T5T5TUUUU
V
V$
S
S  t!4!46Qd6Q6Q6QRRRR
S
SrN)rrrrZrrrrLrL^s(SSSSSrrL__main__)4testrtest.supportrrenumrFr1rYr[rSrrVr<rImportErrorrget_config_varrrrrrrrrIntEnumr
rrrrrrrTestCaserrCrRr`rvrrrr>rrr4r=rLrmainrrr<module>rdsk((((((







III655555&Y
%l
3
3
8q
Q^a''1,}q 4'			dl

'-.G12g56w'(TBTBTBTBTB8$TBTBTBn
4
4
4
4
4"
4
4
4 	?	?	?	?	?	?	?	?........b,,,,,,,,@					(+x7H								*K9J			8(8(8(8(8("8(8(8(vd"$?@@|||||||A@|~]+]+]+]+]+/8#4]+]+]+@@B@B@B@B@BOX%6@B@B@BDS\X-/KLLSSSSS(+SSMLS<zHMOOOOOs;AA