Sindbad~EG File Manager

Current Path : /usr/local/lib/python3.9/test/__pycache__/
Upload File :
Current File : //usr/local/lib/python3.9/test/__pycache__/test_time.cpython-39.opt-2.pyc

a

��g���@sddlmZddlZddlZddlZddlZddlZddlZddlZddl	Z	ddl
Z
ddlZzddlZWne
y~dZYn0ddlmZe�d�p�dZdded>dZeddZd	Zd
Zd	ZdZdZGdd
�d
ej�ZejejfejejfejejfejejffZGdd�dej �Z!Gdd�dej �Z"Gdd�d�Z#Gdd�d�Z$Gdd�d�Z%Gdd�de#e%ej �Z&Gdd�de$e%ej �Z'Gdd�dej �Z(e�)edud�Gdd �d ��Z*Gd!d"�d"e*ej �Z+Gd#d$�d$e*ej �Z,e�-ejd%kd&�Gd'd(�d(ej ��Z.e/d)k�re�0�dS)*�)�supportN)�skip_if_buggy_ucrt_strfptime�
SIZEOF_INT����li@B��iʚ;c@seZdZdZdZdZdZdS)�_PyTimerr��N)�__name__�
__module__�__qualname__�ROUND_FLOOR�
ROUND_CEILING�ROUND_HALF_EVEN�ROUND_UP�rr�*/usr/local/lib/python3.9/test/test_time.pyr
sr
c@s�eZdZdd�Zdd�Zdd�Zdd�Ze�e	e
d	�d
�dd��Ze�e	e
d	�d
�e�e	e
d
�d�dd���Ze�e	e
d�d�e�e	e
d	�d
�dd���Z
e�e	e
d�d�dd��Ze�e	e
d�d�dd��Zdd�Zdd �Zd!d"�Zd#d$�Zd%d&�Zd'd(�Zd)d*�Zed+d,��Zd-d.�Zd/d0�Zd1d2�Zd3d4�Zd5d6�Ze�e	e
d7�d8�d9d:��Zd;d<�Zd=d>�Z d?d@�Z!dAdB�Z"dCdD�Z#e�e$�%�dEdFkdG�dHdI��Z&dJdK�Z'dLdM�Z(dNdO�Z)dPdQ�Z*e�e	e
d�dR�dSdT��Z+dUdV�Z,dWdX�Z-dYS)Z�TimeTestCasecCst��|_dS�N)�time�t��selfrrr�setUp4szTimeTestCase.setUpcCstjtjtjtjdSr)r�altzone�daylight�timezone�tznamerrrr�test_data_attributes7sz!TimeTestCase.test_data_attributescCs.t��t�d�}|�|j�|�|j�dS)Nr)r�get_clock_info�assertFalse�	monotonic�
assertTrue�
adjustable)r�inforrr�	test_time=s
zTimeTestCase.test_timecs��fdd�}|t��t���|t��t���|t��t���|t��t���ttd�rp|t�	�t�
��ttd�r�|t�tj�t�
tj��dS)Ncs2��|t�t|d�}��||d||f�dS)Nge��Al@�F)�assertIsInstance�int�
assertLess)Zsec�nsZsec_nsrrr�check_nsDsz0TimeTestCase.test_time_ns_type.<locals>.check_ns�thread_time�
clock_gettime)r�time_nsr$�monotonic_ns�perf_counter�perf_counter_ns�process_time�process_time_ns�hasattrr.�thread_time_nsr/�CLOCK_REALTIME�clock_gettime_ns)rr-rrr�test_time_ns_typeCs*����
�

�zTimeTestCase.test_time_ns_typer/zneed time.clock_gettime()cCst�tj�}|�|t�dSr)rr/r8r)�float�rrrrr�test_clock_realtime\sz TimeTestCase.test_clock_realtime�CLOCK_MONOTONICzneed time.CLOCK_MONOTONICcCs(t�tj�}t�tj�}|�||�dSr)rr/r>�assertLessEqual)r�a�brrr�test_clock_monotonicbsz!TimeTestCase.test_clock_monotonic�pthread_getcpuclockidz!need time.pthread_getcpuclockid()cCs�t�t���}|�t|�tu�t��dkrJt	j
��dkrJ|�|tj
�n*t	j�d�rf|�|tj
�n|�|tj
�t�|�}t�|�}|�||�dS)NZAIX� Zsunos)rrC�	threading�	get_identr%�typer*�platform�system�sys�maxsize�
bit_length�assertEqual�CLOCK_THREAD_CPUTIME_ID�
startswith�assertNotEqualr/r?)rZclk_id�t1�t2rrr�test_pthread_getcpuclockidks

z'TimeTestCase.test_pthread_getcpuclockid�clock_getreszneed time.clock_getres()cCs(t�tj�}|�|d�|�|d�dS)N���?)rrTr8�
assertGreaterr?)r�resrrr�test_clock_getres~szTimeTestCase.test_clock_getres�
clock_settimezneed time.clock_settime()cCsTt�tj�}zt�tj|�Wnty0Yn0ttd�rP|�ttjtjd�dS)Nr>r)	rr/r8rZ�PermissionErrorr6�assertRaises�OSErrorr>r<rrr�test_clock_settime�s

�zTimeTestCase.test_clock_settimecCsJ|�t�|j�t�t�|j���|�tt�t�|j���t|j��dSr)rMr�ctimer�asctime�	localtimer*�mktimerrrr�test_conversions�s��zTimeTestCase.test_conversionscCs.|�ttjd�|�ttjd�t�d�dS)N������g333333�?)r\�
ValueErrorr�sleeprrrr�
test_sleep�szTimeTestCase.test_sleepc	Csxt�|j�}dD]>}d|}zt�||�WqtyL|�d|�Yq0q|�ttjd|�|�ttjd|�dS)N�r@�ArA�B�c�d�H�I�j�m�M�p�S�U�w�W�x�X�y�Y�Z�%z %z conversion specifier: %r failed.s%Sz%S)r�gmtimer�strftimerf�failr\�	TypeError)r�tt�	directive�formatrrr�
test_strftime�szTimeTestCase.test_strftimecCs|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|d�dS)N)	rrrrrrrrre)	r�rrrrrrre)	rrerrrrrrre)	r�
rrrrrrre)	rrrrrrrrre)	rr�rrrrrre)	rrrerrrrrre)	rrrDrrrrrre)	rrr�rrrrre)	rrrrerrrrre)	rrr�rrrrre)	rrrr�;rrrre)	rrrrrerrrre)	rrrr�<rrrre)	rrrrrrerrre)	rrrrrr�rrre)	rrrrr�=rrre)	rrrrr�>rrre)	rrrrrrrerre)	rrrrrr�rre)	rrrrrrrdrre)	rrrrrrrrre)	rrrrrrrinre)	rrrrrrrrere)	rrrrrrriore)r\rfrM)r�funcrrr�_bounds_checking�sh����������
����zTimeTestCase._bounds_checkingcCs|�dd��dS)NcSst�d|�S)N��rr)�tuprrr�<lambda>��z;TimeTestCase.test_strftime_bounding_check.<locals>.<lambda>)r�rrrr�test_strftime_bounding_check�sz)TimeTestCase.test_strftime_bounding_checkcCsRdD]H}tdd�D]8}dD].}zt�|||�WqtyFYq0qqqdS)N)r�rjz%Az%AAr�)r}zA%zAA%z%A%zA%A%z%#)�rangerrrf)rrxrz�zrrr�test_strftime_format_check�sz'TimeTestCase.test_strftime_format_checkcCsHd}t���t�dd�}Wd�n1s.0Y|�||�dS)Nz2000 01 01 00 00 00 1 001z%Y %m %d %H %M %S %w %j)	��rrrrrrrr)rZcheck_warningsrrrM)r�expected�resultrrr�test_default_values_for_zero�s
*z)TimeTestCase.test_default_values_for_zeroc	Csdt�|j�}dD]N}d|}t�||�}zt�||�Wqty\|�d||f�Yq0qdS)Nrir}z/conversion specifier %r failed with '%s' input.)rr~rr�strptimerfr�)rr�r�r�Zstrf_outputrrr�
test_strptime�s�zTimeTestCase.test_strptimecCs(|�ttjdd�|�ttjdd�dS)Ns2009�%YZ2009s%Y)r\r�rr�rrrr�test_strptime_bytessz TimeTestCase.test_strptime_bytescCs�|�t��}t�dd�Wd�n1s,0Y|�|jjd�|�t��}t�dd�Wd�n1sr0Y|�|jjd�dS)Nr�z%DTZ19z%Y %)r\rfrr��assertIs�	exception�__suppress_context__)r�errr�test_strptime_exception_contexts**z,TimeTestCase.test_strptime_exception_contextcCs�t�t�|j��ttfD]:}t�|ddfd�}|�|tt|��d�t|��q|�	t
tjtdfd�|�	t
tjtdfd�|�	ttjd�|�	ttjd�|�	ttjd�dS)Nr�r�rrrrrr�rrrrrrrrrr)
rrrrrrrrrr)rr`r~r�TIME_MAXYEAR�TIME_MINYEARrM�len�strr\�
OverflowErrorr�)rZbigyearZascrrr�test_asctimes$
�
�zTimeTestCase.test_asctimecCs|�tj�dSr)r�rr`rrrr�test_asctime_bounding_check-sz(TimeTestCase.test_asctime_bounding_checkc
Cs�t�d�}|�t�|�d�t�d�}|�t�|�d�dD]R}zt�|ddfd�}WnttfynYq<0|�t�|�d	d�t|��q<dS)
N)	i��	r�rr�4rrrezSun Sep 16 01:03:52 1973)	r�rrrrrrrrezSat Jan  1 00:00:00 2000)i�����dr	r�i�'r�
r��)rrbrMr_rfr�r�)rrZyearZtestvalrrr�
test_ctime0s

zTimeTestCase.test_ctime�tzsetz"time module has no attribute tzsetc	Cs@ddlm}d}d}d}d}|�dd�}�z�||d<t��||d<t��|�t�|�t�|��|�tjd�|�tj	d�|�t�|�j
d�||d<t��|�t�|�t�|��|�tjd�|�t
tj�d	�|�tjd
�|�tj	d�|�tjd�|�t�|�j
d�|�t
tj�d	�||d<t��|�t�|�t�|��|�tjdd
tjd�|�tjd
dvttjd
��|�t
tj�d	�|�tjd
�|�tj	d�|�tjd�|�t�|�j
d
�W|du�r�||d<nd|v�r|d=t��n.|du�r"||d<nd|v�r2|d=t��0dS)Nr)�environg�z�AzEST+05EDT,M4.1.0,M10.5.0zAEST-10AEDT-11,M10.5.0,M3.5.0zUTC+0ZTZ)ZEST�EDTrr�PFi@8ZAESTEST)ZAEDTr�i`s��iPe��)�osr��getrr�rMr~rarr�tm_isdstrPr r�rZassertInr%r�)rr�Zxmas2002ZeasternZvictoriaZutcZorg_TZrrr�
test_tzset?s^� 



�


zTimeTestCase.test_tzsetcCs2tjtjtjfD]}dD]}|�t||�qqdS)N)gZb���t�gZb���ti)rr_r~rar\r�)rr�Zunreasonablerrr�test_insane_timestamps�sz#TimeTestCase.test_insane_timestampscCst��t�d�dSr)rr_rrrr�test_ctime_without_arg�sz#TimeTestCase.test_ctime_without_argcCs:t��}t�d�}t�|�}t�|�}|j||dd�dS�Ng�������?)Zdelta)rr~rb�assertAlmostEqual)rZgt0Zgt1�t0rQrrr�test_gmtime_without_arg�s



z$TimeTestCase.test_gmtime_without_argcCs:t��}t�d�}t�|�}t�|�}|j||dd�dSr�)rrarbr�)rZlt0Zlt1r�rQrrr�test_localtime_without_arg�s



z'TimeTestCase.test_localtime_without_argc
CsFdD]<}zt�|�}Wnttfy,Yq0|�t�|�|�qdS)N)rdrerr)rrar�r]rMrb)rrr�rrr�test_mktime�szTimeTestCase.test_mktimer�glibcz0disabled because of a bug in glibc. Issue #13309cCs^t�|j�}t�d|�}|�|d�zt�d�WntyDYn0|�t�d|�|�dS)N�%ZZLMT)	rerrrrrrerere)rr~rrrPrbr�rM)rr�r rrr�test_mktime_error�szTimeTestCase.test_mktime_errorcCs�dd�td�D�}|d}|dd�D]}|�||d|�|}q&t��}t�d�t��}||}|�||�|�d|k�t�d	�}|�|j�|�|j	�dS)
NcSsg|]}t���qSr)rr$)�.0�nrrr�
<listcomp>�r�z/TimeTestCase.test_monotonic.<locals>.<listcomp>r�rrztimes=%sg�?g�������?r$)
r��assertGreaterEqualrr$rgrWr%r"r#r&)r�timesrQrRZdtr'rrr�test_monotonic�s

zTimeTestCase.test_monotoniccCst��dSr)rr2rrrr�test_perf_counter�szTimeTestCase.test_perf_countercCsPt��}t�d�t��}|�||d�t�d�}|�|j�|�|j�dS)N皙�����?�{�G�z�?r4)	rr4rgr+r"r%r$r#r&�r�start�stopr'rrr�test_process_time�s

zTimeTestCase.test_process_timecCs�ttd�s4tj�d�r*|�dtjf�n
|�d�t��}t�d�t��}|�	||d�t�
d�}|�|j�|�
|j�dS)Nr.)�linux�winz,time.thread_time() should be available on %rzneed time.thread_timer�r�)r6rrJrHrOr��skipTestr.rgr+r"r%r$r#r&r�rrr�test_thread_time�s
�


zTimeTestCase.test_thread_timezneed time.clock_settimec
Cs�t��}t�tj�}zt�tj|d�Wn.tyX}z|�|�WYd}~n
d}~00t��}t�tj|�|�||�dS)Ni)rr$r/r8rZr[r�r�)rrQZrealtime�errrRrrr�test_monotonic_settime�s z#TimeTestCase.test_monotonic_settimec	Cs�d}dD]J}zt�|�Wqty6|�d�YqtyP|}YqTYq0q|durf|�d�|�ttj|�|�ttj|�|�ttjtd��|�ttjtd��dS)N)rei@llzneed 64-bit time_tz&unable to find an invalid time_t value�nan)	rrar�r�r]r\r_rfr;)rZinvalid_time_tZtime_trrr�test_localtime_failure
s
z#TimeTestCase.test_localtime_failurec	Cs�gd�}|D]�}|j|d��|t�|�}|�|jt�|�|jd�|�|jt�|�|j	t
�|�|j	d�|�|j	d�|�|j
t�Wd�q1s�0Yq|�ttjd�dS)N)r$r2r4rr.)�namer�rUrVZxxx)ZsubTestrr"r)�implementationr�rPr$�boolZ
resolutionr;rWr?r&r\rf)rZclocksr�r'rrr�test_get_clock_info"s
.z TimeTestCase.test_get_clock_infoN).r
rrrr!r(r:�unittest�
skipUnlessr6rr=rBrSrYr^rcrhr�r�r�r�r�rr�r�r�r�r�r�r�r�r�r�r�r�rHZlibc_verr�r�r�r�r�r�r�r�rrrrr2s��
�����
�
9



�
I	�


�

rc@s$eZdZdd�Zdd�Zdd�ZdS)�
TestLocalecCst�tj�|_dSr��locale�	setlocale�LC_ALL�oldlocrrrrr<szTestLocale.setUpcCst�tj|j�dSrr�rrrr�tearDown?szTestLocale.tearDowncCsBzt�tjd�}Wntjy0|�d�Yn0t�dd�dS)N�fr_FRz$could not set locale.LC_ALL to fr_FRz%B)	i�rrrrrrrr)r�r�r��Errorr�rr)r�tmprrr�
test_bug_3061Bs
zTestLocale.test_bug_3061N)r
rrrr�r�rrrrr�;sr�c@s eZdZdZdd�Zdd�ZdS)�_TestAsctimeYear�%dcCst�|fd���dS)Nr�re)rr`�split�rrzrrr�yearstrNsz_TestAsctimeYear.yearstrcCs(|�|�d�d�|�|�d�d�dS)N�90�12345��[�	123456789)rMr�rrrr�test_large_yearQsz _TestAsctimeYear.test_large_yearN)r
rr�_formatr�r�rrrrr�Ksr�csleZdZe�dd�dkrdZndZdd�Zdd	�Zd
d�Zed��fd
d��Z	ed��fdd��Z
[�ZS)�_TestStrftimeYearr�)	rrrrrrrrrZ0001�%04dr�cCst�d|fd�S)Nr�r�r�r�rrrr�bsz_TestStrftimeYear.yearstrcCs0|jdkr|�d�ndd�}|jd|d�dS)Nr�cSst�d|fd�S)Nz%4Yr�r�)rzrrr�year4djsz-_TestStrftimeYear.test_4dyear.<locals>.year4d)r�)r��	test_year)rr�rrr�test_4dyeares
z_TestStrftimeYear.test_4dyearcCsBd}zt�d|fd�Wnty0d}Yn0d}t�||�S)Nz5strftime() is limited to [1; 9999] with Visual Studior�r�FT)rrrfr�r�)rz�msg�condrrr�skip_if_not_supportedns
z'_TestStrftimeYear.skip_if_not_supportedr�cs
t���Sr)�superr�r��	__class__rrr�ysz!_TestStrftimeYear.test_large_yearrcs
t���Sr)r�
test_negativerrrrr}sz_TestStrftimeYear.test_negative)r
rrrrr�r�rrr�r�
__classcell__rrrrr�Vs	r�c@s*eZdZdZd	dd�Zdd�Zdd�ZdS)
�_Test4dYearr�NcCs�|p|j}|p|j}|�|d�|d�|�|d�|d�|�|d�|d�|�|d�|d�|�|d�|d�|�|d�|d�dS)Nr�D�E�c���')r�r�rM)r�fmtr�rrrr�s

z_Test4dYear.test_yearcCsd|�|�d��d�d�|�|�d��d�d�|�|�t��d�tt��|�t|jtd�dS)Nr��+r�r�r�r)rMr��lstripr�r�r\r�rrrrr��sz_Test4dYear.test_large_yearcCs�|�|�d�|jd�|�|�d�d�|�|�d�d�|�|�d�td��|�|�d�td��|�|�t�tt��|�t|jtd�|�t�� |�td�Wd�n1s�0YdS)	Nrei.���z-1234i���z-123456i�2��i.�i�r)rMr�r�r�r�r\r�r�rrrrr�sz_Test4dYear.test_negative)NN)r
rrr�rr�rrrrrr
�s

r
c@seZdZdS)�TestAsctime4dyearN�r
rrrrrrr�src@seZdZdS)�TestStrftime4dyearNrrrrrr�src@s^eZdZee�ejdkd�dd���Ze�ejdkd�dd��Z	e�ejdkd�dd��Z
d	S)
�
TestPytime�zneeds tm_zone supportcCs0t��}|�t|d��|�t|d��|jdurF|�ttd��n|�|jtjtjg|j�|j	dur�|�ttd��n|�|j	tj
|j�t�|�}t�|dd��}|�||�t�|�}t�|�}|�||�|�|j|j�|�|j	|j	�|�||�|�|j|j�|�|j	|j	�dS)N�	tm_gmtoff�tm_zonerr r�)rrar%r6rrMrrr�rr rb)r�ltrZt9Znew_ltZnew_lt9rrr�test_localtime_timezone�s$

z"TestPytime.test_localtime_timezonecCs8t�dd�}|�|jd�t�dd�}|�|jd�dS)NZUTCr�z+0500z%zr�)rr�rMrrr<rrr�test_strptime_timezone�sz!TestPytime.test_strptime_timezonecCs6ddl}d}|�|�}|�|jd�|�|jd�dS)NrsLctime
struct_time
p0
((I2007
I8
I11
I1
I24
I49
I5
I223
I1
tp1
(dp2
tp3
Rp4
.)�pickle�loadsr�rr)rr�strrrr�test_short_times�s

zTestPytime.test_short_timesN)r
rrrr�r�r�_STRUCT_TM_ITEMSrrr rrrrr�s"
rzneed the _testcapi modulec@sNeZdZdZdd�Zdd�Zdd�Zddd	�Zddd�Zdd
d�Z	dd�Z
dS)�CPyTimeTestCaseNcCs6ddlm}|dd}d||_d|d|_dS)Nr)�
SIZEOF_TIME_Trrr)�	_testcapir#�
time_t_min�
time_t_max)rr#�bitsrrrr�szCPyTimeTestCase.setUpcCs|j|ko|jkSSr)r%r&)r�secondsrrr�
time_t_filter�szCPyTimeTestCase.time_t_filterc

Cs�dtttg}|r|�d�d}dg}|D]&}|D]}||}|�||f�q0q(dD]<}d|t}|�|d||d|d||df�qTtjtjfD]}	|�|	t�q�|r�dD]}d|}|�||f�q�d	tt}|�||f�|S)
Nrg����MbP?)rr���{i�i�r�r
rri��i?Bi�i�i�i�i�i�i�	i�
i�r)	rr*r���r�r���!r)rr+r�r-g@l)�US_TO_NS�MS_TO_NS�	SEC_TO_NS�append�extendr$�INT_MIN�INT_MAX)
r�	use_floatZunits�values�
ns_timestampsZunit�valuer,Zpow2r(rrr�_rounding_values�s0
�
z CPyTimeTestCase._rounding_valuescs4���fdd�}|���}||�}tD]�\}	}
t���p}|
|_|D]T}||
d�}
z|||	�}||�}Wn ty�|�d|
�Yn0|�|||
�qBWd�q&1s�0Yq&|jt	}||f}||�}tD]V\}	}|D]H}||	d�}
|j
t|
d��|||	�Wd�q�1�s"0Yq�q�dS)NcsX�r$tt����fdd�|D�}nt���fdd�|D�}�rLt�|�}tt|��S)Ncsg|]}|��qSrr�r�r,�Z
unit_to_nsrrr�,r�zKCPyTimeTestCase._check_rounding.<locals>.convert_values.<locals>.<listcomp>csg|]}|��qSrrr=r>rrr�/r�)r3r;�filter�sorted�set)r:r9��unit_to_secr8�value_filterr>r�convert_values)s
z7CPyTimeTestCase._check_rounding.<locals>.convert_values)r;�roundingz!Error on timestamp conversion: %s)r)r<�ROUNDING_MODES�decimalZlocalcontextrF�	Exceptionr�rM�OVERFLOW_SECONDSr3r\r�)r�pytime_converter�
expected_funcr8rCrDrEr:Zvalid_values�time_rndZdecimal_rnd�contextr;Z
debug_infor�r�r,Zoverflow_values�_rrBr�_check_rounding&s2



�&


zCPyTimeTestCase._check_roundingrcCs|�||d||�dS)NF�rP�rrKrLrCrDrrr�check_int_roundingSs�z"CPyTimeTestCase.check_int_roundingcCs|�||d||�dS)NTrQrRrrr�check_float_roundingXs�z$CPyTimeTestCase.check_float_roundingcCst�|�}|�d�}t|�S)Nr)rH�DecimalZquantizer*)rrxrmrrr�
decimal_round]s

zCPyTimeTestCase.decimal_round)N)rN)rN)r
rrrJrr)r<rPrSrTrVrrrrr"�s4�
.�
�
r"c@sleZdZe�de�Zdd�Zdd�Zdd�Z	dd	�Z
d
d�Ze�
eed�d
�dd��Zdd�Zdd�ZdS)�TestCPyTimelc	sxddlm�dd�}|j�fdd�dd�|d�tD]>\}}|�t���td	��Wd�q41sh0Yq4dS)
Nr��PyTime_FromSecondscSstj|kotjkSSr)r$r6r7��secsrrr�c_int_filternsz2TestCPyTime.test_FromSeconds.<locals>.c_int_filtercs�|�Srr)r[�rndrXrrr�qr�z.TestCPyTime.test_FromSeconds.<locals>.<lambda>cSs|tSr�r3rZrrrr�rr��rDr�)r$rYrSrGr\r�r;)rr\rMrOrrXr�test_FromSecondsjs�zTestCPyTime.test_FromSecondsc	szddlm}��|dd����|�fdd��tD]@\}}��t��|td�|�Wd�q41sj0Yq4dS)Nr)�PyTime_FromSecondsObjectcSs|tSrr^rZrrrr�r�z4TestCPyTime.test_FromSecondsObject.<locals>.<lambda>cs��|t�Sr)rVr3�r,rrrr��r�r�)r$rarSrTrGr\rfr;)rrarMrOrrr�test_FromSecondsObjectzs�
�z"TestCPyTime.test_FromSecondsObjectc	srddlm�dd�}|��fdd�|t�tD]>\}}|�t���td��Wd�q.1sb0Yq.dS)Nr��PyTime_AsSecondsDoublecSs,t|�tdkrt|t�St|�tSdS�Nr)�absr3r;rbrrr�float_converter�sz9TestCPyTime.test_AsSecondsDouble.<locals>.float_convertercs�|�Srr�r,r]rdrrr��r�z2TestCPyTime.test_AsSecondsDouble.<locals>.<lambda>r�)r$rerS�	NS_TO_SECrGr\r�r;)rrhrMrOrrdr�test_AsSecondsDouble�s�z TestCPyTime.test_AsSecondsDoublecst�|����fdd�}|S)Ncst�|��}��|�Sr)rHrUrV)r;rm�Zdenomrrr�	converter�sz7TestCPyTime.create_decimal_converter.<locals>.converter)rHrU)r�denominatorrmrrlr�create_decimal_converter�s
z$TestCPyTime.create_decimal_convertercshddlm}|�t���fdd�}tjdkrLddlm�m���fdd�}n|j}|j	||t
|d	�dS)
Nr)�PyTime_AsTimevalcs�|�}t|t�Sr)�divmod�	SEC_TO_US)r,�us)�us_converterrr�timeval_converter�sz5TestCPyTime.test_AsTimeval.<locals>.timeval_converter�win32)�LONG_MIN�LONG_MAXcs�|ko�kSSrrrZ)rxrwrr�seconds_filter�sz2TestCPyTime.test_AsTimeval.<locals>.seconds_filterr_)r$rpror1rJrHrwrxr)rSrj)rrpruryr)rxrwrtr�test_AsTimeval�s

�zTestCPyTime.test_AsTimeval�PyTime_AsTimespecz need _testcapi.PyTime_AsTimespeccs4ddlm�dd�}|j�fdd�|t|jd�dS)Nr�r{cSs
t|t�Sr)rqr3rbrrr�timespec_converter�sz7TestCPyTime.test_AsTimespec.<locals>.timespec_convertercs�|�Srrrir|rrr��r�z-TestCPyTime.test_AsTimespec.<locals>.<lambda>r_)r$r{rSrjr))rr}rr|r�test_AsTimespec�s�zTestCPyTime.test_AsTimespeccCs$ddlm}|�||�t�t�dS)Nr)�PyTime_AsMilliseconds)r$rrSror2rj)rrrrr�test_AsMilliseconds�s
�zTestCPyTime.test_AsMillisecondscCs$ddlm}|�||�t�t�dS)Nr)�PyTime_AsMicroseconds)r$r�rSror1rj)rr�rrr�test_AsMicroseconds�s
�zTestCPyTime.test_AsMicrosecondsN)r
rr�math�ceilr3rJr`rcrkrorzr�r�r6r$r~r�r�rrrrrWcs	�
rWc@s0eZdZdZdd�Zdd�Zdd�Zdd	�Zd
S)�
TestOldPyTimelcCs:ddlm}|j|dd�|jd�|j||j|jd�dS)Nr)�pytime_object_to_time_tcSs|SrrrZrrrr��r�z5TestOldPyTime.test_object_to_time_t.<locals>.<lambda>r_)r$r�rSr)rTrV)rr�rrr�test_object_to_time_t�s��z#TestOldPyTime.test_object_to_time_tcs��fdd�}|S)Ncsbt�|�\}}t|�}|�9}��|�}|dkrB|�7}|d8}n|�krZ|�8}|d7}||fS)Nrr)r��modfr*rV)r[Z	floatpartZintpart��sec_to_unitrrrrm�s

z1TestOldPyTime.create_converter.<locals>.converterr)rr�rmrr�r�create_converter�szTestOldPyTime.create_converterc	Cs�ddlm}|j|dd�|jd�|j||�t�|jd�tD]@\}}|�t	��|t
d�|�Wd�q>1st0Yq>dS)Nr)�pytime_object_to_timevalcSs|dfSrfrrZrrrr��r�z6TestOldPyTime.test_object_to_timeval.<locals>.<lambda>r_r�)r$r�rSr)rTr�rrrGr\rfr;)rr�rMrOrrr�test_object_to_timeval�s��z$TestOldPyTime.test_object_to_timevalc	Cs�ddlm}|j|dd�|jd�|j||�t�|jd�tD]@\}}|�t	��|t
d�|�Wd�q>1st0Yq>dS)Nr)�pytime_object_to_timespeccSs|dfSrfrrZrrrr�r�z7TestOldPyTime.test_object_to_timespec.<locals>.<lambda>r_r�)r$r�rSr)rTr�r3rGr\rfr;)rr�rMrOrrr�test_object_to_timespec
s��z%TestOldPyTime.test_object_to_timespecN)r
rrrJr�r�r�r�rrrrr��s
r��darwinztest weak linking on macOSc@seZdZdd�ZdS)�TestTimeWeaklinkingcCs�ddl}ddl}|��}d}||vs,||s<t�|�d���tdd�|��d�d�D��}gd�}|dkr�|D]}|�t	t
|�d	|�d��qpn$|D]}|�t	t
|�d	|�d
��q�dS)NrZHAVE_CLOCK_GETTIMEz is not availablecss|]}t|�VqdSr)r*)r�rxrrr�	<genexpr>*r�z;TestTimeWeaklinking.test_clock_functions.<locals>.<genexpr>�.)r>r/r9rZ�clock_settime_nsrT)r�r�ztime.z
 is available)�	sysconfigrHZget_config_varsr�ZSkipTest�tuple�mac_verr�r%r6rr#)rr�rHZconfig_varsZvar_namer�Zclock_namesr�rrr�test_clock_functions!s z(TestTimeWeaklinking.test_clock_functionsN)r
rrr�rrrrr�sr��__main__)1�testrrH�enumr�r�rHrJr�rrEr�r$�ImportErrorZtest.supportrZget_config_varrr�r�rrr1r2r3rj�IntEnumr
rrrrrGZTestCaserr�r�r�r
rrrZskipIfr"rWr�r�r�r
�mainrrrr�<module>sb




�	
. 8uB


Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists