Uname:Linux ip-10-0-5-176 6.8.0-1057-aws #60~22.04.1-Ubuntu SMP Wed May 27 08:16:59 UTC 2026 x86_64

403WebShell
403Webshell
Server IP : 3.111.61.48  /  Your IP : 216.73.216.67
Web Server : Apache
System : Linux ip-10-0-5-176 6.8.0-1057-aws #60~22.04.1-Ubuntu SMP Wed May 27 08:16:59 UTC 2026 x86_64
User : ubuntu ( 1000)
PHP Version : 8.2.31
Disable Function : exec,passthru,shell_exec,system
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /usr/lib/python3.10/test/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /usr/lib/python3.10/test/__pycache__/test_time.cpython-310.pyc
o

�9j���@s*ddlmZddlmZddlZddlZddlZddlZddlZddl	Z	ddl
Z
ddlZddlZddl
Z
zddlZWneyEdZYnwddlmZe
�d�pRdZdded>dZedd	Zd
ZdZd
ZdZdZGd
d�dej�ZejejfejejfejejfejejffZ Gdd�de
j!�Z"Gdd�de
j!�Z#Gdd�d�Z$Gdd�d�Z%Gdd�d�Z&Gdd�de$e&e
j!�Z'Gdd�de%e&e
j!�Z(Gdd�de
j!�Z)e
�*edud�Gd d!�d!��Z+Gd"d#�d#e+e
j!�Z,Gd$d%�d%e+e
j!�Z-e
�.e	jd&kd'�Gd(d)�d)e
j!��Z/e0d*k�re
�1�dSdS)+�)�support)�warnings_helperN)�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/lib/python3.10/test/test_time.pyrs
rc@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�setUp5szTimeTestCase.setUpcCstjtjtjtjdSr)r�altzone�daylight�timezone�tznamerrrr�test_data_attributes8s
z!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�r8|t�	�t�
��ttd�rL|t�tj�t�
tj��dSdS)Ncs2��|t�t|d�}��||d||f�dS)Nge��Al@�F)�assertIsInstance�int�
assertLess)�sec�ns�sec_nsrrr�check_nsEs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�hasattrr1�thread_time_nsr2�CLOCK_REALTIME�clock_gettime_ns)rr0rrr�test_time_ns_typeDs,����
�

��zTimeTestCase.test_time_ns_typer2zneed time.clock_gettime()cCst�tj�}|�|t�dSr)rr2r;r*�float�rrrrr�test_clock_realtime]sz TimeTestCase.test_clock_realtime�CLOCK_MONOTONICzneed time.CLOCK_MONOTONICcCs(t�tj�}t�tj�}|�||�dSr)rr2rA�assertLessEqual)r�a�brrr�test_clock_monotoniccsz!TimeTestCase.test_clock_monotonic�pthread_getcpuclockidz!need time.pthread_getcpuclockid()cCs�t�t���}|�t|�tu�t��dkr%t	j
��dkr%|�|tj
�nt	j�d�r3|�|tj
�n|�|tj
�t�|�}t�|�}|�||�dS)N�AIX� �sunos)rrF�	threading�	get_identr&�typer+�platform�system�sys�maxsize�
bit_length�assertEqual�CLOCK_THREAD_CPUTIME_ID�
startswith�assertNotEqualr2rB)r�clk_id�t1�t2rrr�test_pthread_getcpuclockidls

z'TimeTestCase.test_pthread_getcpuclockid�clock_getreszneed time.clock_getres()cCs(t�tj�}|�|d�|�|d�dS)N���?)rrZr;�
assertGreaterrB)r�resrrr�test_clock_getresszTimeTestCase.test_clock_getres�
clock_settimezneed time.clock_settime()cCsXt�tj�}z	t�tj|�Wn	tyYnwttd�r*|�ttjtjd�dSdS)NrAr)	rr2r;r`�PermissionErrorr9�assertRaises�OSErrorrAr?rrr�test_clock_settime�s�

��zTimeTestCase.test_clock_settimecCsJ|�t�|j�t�t�|j���|�tt�t�|j���t|j��dSr)rRr�ctimer�asctime�	localtimer+�mktimerrrr�test_conversions�s��zTimeTestCase.test_conversionscCs.|�ttjd�|�ttjd�t�d�dS)N������g333333�?)rb�
ValueErrorr�sleeprrrr�
test_sleep�szTimeTestCase.test_sleepc	Csvt�|j�}dD]}d|}zt�||�Wqty&|�d|�Yqw|�ttjd|�|�ttjd|�dS)N�rC�ArD�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�strftimerl�failrb�	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)	r	rrrrrrrrk)	r	�rrrrrrrk)	r	rkrrrrrrrk)	r	�
rrrrrrrk)	r	rrrrrrrrk)	r	r�rrrrrrk)	r	rrkrrrrrrk)	r	rrHrrrrrrk)	r	rr�rrrrrk)	r	rrrkrrrrrk)	r	rr�rrrrrk)	r	rrr�;rrrrk)	r	rrrrkrrrrk)	r	rrr�<rrrrk)	r	rrrrrkrrrk)	r	rrrrr�rrrk)	r	rrrr�=rrrk)	r	rrrr�>rrrk)	r	rrrrrrkrrk)	r	rrrrr�rrk)	r	rrrrrrjrrk)	r	rrrrrrrrk)	r	rrrrrrinrk)	r	rrrrrrrkrk)	r	rrrrrriork)rbrlrR)r�funcrrr�_bounds_checking�sh����������
����zTimeTestCase._bounds_checkingcCs|�dd��dS)NcSst�d|�S)N��rr�)�tuprrr�<lambda>�sz;TimeTestCase.test_strftime_bounding_check.<locals>.<lambda>)r�rrrr�test_strftime_bounding_check��z)TimeTestCase.test_strftime_bounding_checkcCsPdD]#}tdd�D]}dD]}zt�|||�Wq
ty#Yq
wq	qdS)N)r�rpz%Az%AAr�)r�zA%zAA%z%A%zA%A%z%#)�rangerr�rl)rr~r��zrrr�test_strftime_format_check�s����z'TimeTestCase.test_strftime_format_checkcCsHd}t���t�dd�}Wd�n1swY|�||�dS)Nz2000 01 01 00 00 00 1 001z%Y %m %d %H %M %S %w %j)	��rrrrrrrr)r�check_warningsrr�rR)r�expected�resultrrr�test_default_values_for_zero�s

�z)TimeTestCase.test_default_values_for_zeroc	Csbt�|j�}dD]&}d|}t�||�}zt�||�Wqty.|�d||f�YqwdS)Nror�z/conversion specifier %r failed with '%s' input.)rr�rr��strptimerlr�)rr�r�r��strf_outputrrr�
test_strptimes
���zTimeTestCase.test_strptimecCs(|�ttjdd�|�ttjdd�dS)Ns2009�%Y�2009s%Y)rbr�rr�rrrr�test_strptime_bytes�z TimeTestCase.test_strptime_bytescCs�|�t��}t�dd�Wd�n1swY|�|jjd�|�t��}t�dd�Wd�n1s9wY|�|jjd�dS)Nr�z%DT�19z%Y %)rbrlrr��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)rrfr�r�TIME_MAXYEAR�TIME_MINYEARrR�len�strrb�
OverflowErrorr�)r�bigyear�ascrrr�test_asctimes$
�
�zTimeTestCase.test_asctimecCs|�tj�dSr)r�rrfrrrr�test_asctime_bounding_check.sz(TimeTestCase.test_asctime_bounding_checkc
Cs�t�d�}|�t�|�d�t�d�}|�t�|�d�dD])}zt�|ddfd�}Wnttfy7Yqw|�t�|�d	d�t|��qdS)
N)	i��	r�rr
�4rrrkzSun Sep 16 01:03:52 1973)	r�rrrrrrrrkzSat Jan  1 00:00:00 2000)i�����dr
r�i�'r�
r��)rrhrRrerlr�r�)rr�year�testvalrrr�
test_ctime1s

� �zTimeTestCase.test_ctime�tzsetz"time module has no attribute tzsetc	Cs8ddlm}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|dur�||d<nd|vr�|d=t��dS|du�r||d<nd|v�r|d=t��w)Nr)�environg�z�AzEST+05EDT,M4.1.0,M10.5.0zAEST-10AEDT-11,M10.5.0,M3.5.0zUTC+0�TZ)�EST�EDTrr�PFi@8�AESTEST)�AEDTr�i`s��iPe��)�osr��getrr�rRr�rgrr �tm_isdstrUr!r�r�assertInr&r�)rr��xmas2002�eastern�victoria�utc�org_TZrrr�
test_tzset@s^� 

�


zTimeTestCase.test_tzsetcCs2tjtjtjfD]}dD]	}|�t||�qqdS)N)gZb���t�gZb���ti)rrer�rgrbr�)rr��unreasonablerrr�test_insane_timestamps�s
��z#TimeTestCase.test_insane_timestampscCst��t�d�dSr)rrerrrr�test_ctime_without_arg�sz#TimeTestCase.test_ctime_without_argcC�:t��}t�d�}t�|�}t�|�}|j||dd�dS�Ng�������?)�delta)rr�rh�assertAlmostEqual)r�gt0�gt1�t0rWrrr�test_gmtime_without_arg��



z$TimeTestCase.test_gmtime_without_argcCr�r�)rrgrhr�)r�lt0�lt1r�rWrrr�test_localtime_without_arg�r�z'TimeTestCase.test_localtime_without_argc
CsFdD]}zt�|�}WnttfyYqw|�t�|�|�qdS)N)rjrkrr)rrgr�rcrRrh)rrr�rrr�test_mktime�s��zTimeTestCase.test_mktimer�glibcz0disabled because of a bug in glibc. Issue #13309cCs^t�|j�}t�d|�}|�|d�zt�d�Wn	ty"Ynw|�t�d|�|�dS)N�%Z�LMT)	rkrrrrrrkrkrk)rr�rr�rUrhr�rR)rr�r!rrr�test_mktime_error�s�zTimeTestCase.test_mktime_errorcCs�dd�td�D�}|d}|dd�D]
}|�||d|�|}qt��}t�d�t��}||}|�||�|�d|k�t�d	�}|�|j�|�|j	�dS)
NcSsg|]}t���qSr)rr%)�.0�nrrr�
<listcomp>��z/TimeTestCase.test_monotonic.<locals>.<listcomp>r�rrztimes=%sg�?g�������?r%)
r��assertGreaterEqualrr%rmr]r&r#r$r')r�timesrWrX�dtr(rrr�test_monotonic�s

zTimeTestCase.test_monotoniccCst��dSr)rr5rrrr�test_perf_counter�szTimeTestCase.test_perf_countercCsPt��}t�d�t��}|�||d�t�d�}|�|j�|�|j�dS)N皙�����?�{�G�z�?r7)	rr7rmr,r#r&r%r$r'�r�start�stopr(rrr�test_process_time�s

zTimeTestCase.test_process_timecCs�ttd�stj�d�r|�dtjf�n|�d�t��}t�d�t��}|�	||d�t�
d�}|�|j�|�
|j�dS)Nr1)�linux�winz,time.thread_time() should be available on %rzneed time.thread_timer�r�)r9rrOrMrTr��skipTestr1rmr,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�Wnty,}z|�|�WYd}~nd}~wwt��}t�tj|�|�||�dS)Ni)rr%r2r;r`rar�r�)rrW�realtime�errrXrrr�test_monotonic_settime�s��z#TimeTestCase.test_monotonic_settimec	Cs�d}dD]"}zt�|�Wqty|�d�Yqty&|}Ynw|dur0|�d�|�ttj|�|�ttj|�|�ttjtd��|�ttjtd��dS)N)rki@llzneed 64-bit time_tz&unable to find an invalid time_t value�nan)	rrgr�r�rcrbrerlr>)r�invalid_time_t�time_trrr�test_localtime_failures �
z#TimeTestCase.test_localtime_failurec	Cs�gd�}|D]N}|j|d��>t�|�}|�|jt�|�|jd�|�|jt�|�|j	t
�|�|j	d�|�|j	d�|�|j
t�Wd�n1sOwYq|�ttjd�dS)N)r%r5r7rr1)�namer�r[r\�xxx)�subTestrr#r*�implementationr�rUr%�bool�
resolutionr>r]rBr'rbrl)r�clocksrr(rrr�test_get_clock_info#s
��z TimeTestCase.test_get_clock_infoN).rrrrr"r)r=�unittest�
skipUnlessr9rr@rErYr_rdrirnr�r�r�r�r�rr�r�r�r�r�r�r�r�r�r�r�r�rM�libc_verr�r�r�r�rrrrrrrrr3s��
�����
�
9



�
I	�


�

rc@s$eZdZdd�Zdd�Zdd�ZdS)�
TestLocalecCst�tj�|_dSr��locale�	setlocale�LC_ALL�oldlocrrrrr=r�zTestLocale.setUpcCst�tj|j�dSrrrrrr�tearDown@szTestLocale.tearDowncCsBz	t�tjd�}Wntjy|�d�Ynwt�dd�dS)N�fr_FRz$could not set locale.LC_ALL to fr_FRz%B)	i�rrrrrrrr)rrr�Errorr�rr�)r�tmprrr�
test_bug_3061Cs�zTestLocale.test_bug_3061N)rrrrrrrrrrr<src@s eZdZdZdd�Zdd�ZdS)�_TestAsctimeYear�%dcCst�|fd���dS)Nr�rk)rrf�split�rr�rrr�yearstrO�z_TestAsctimeYear.yearstrcCs(|�|�d�d�|�|�d�d�dS)N�90�12345��[�	123456789)rRr"rrrr�test_large_yearRr�z _TestAsctimeYear.test_large_yearN)rrr�_formatr"r(rrrrrLsrcsleZdZe�dd�dkrdZndZdd�Zdd	�Zd
d�Zed��fd
d��Z	ed��fdd��Z
[�ZS)�_TestStrftimeYearr�)	rrrrrrrrr�0001�%04drcCst�d|fd�S)Nr�r�r�r!rrrr"cr�z_TestStrftimeYear.yearstrcCs2|jdkr|�d�dSdd�}|jd|d�dS)Nr,cSst�d|fd�S)Nz%4Yr�r�)r�rrr�year4dkr�z-_TestStrftimeYear.test_4dyear.<locals>.year4d)r�)r)�	test_year)rr-rrr�test_4dyearfs
z_TestStrftimeYear.test_4dyearcCsBd}zt�d|fd�Wntyd}Ynwd}t�||�S)Nz5strftime() is limited to [1; 9999] with Visual Studior�r�FT)rr�rlrr)r��msg�condrrr�skip_if_not_supportedos�z'_TestStrftimeYear.skip_if_not_supportedr�c�
t���Sr)�superr(r��	__class__rrr(z�
z!_TestStrftimeYear.test_large_yearrcr3r)r4�
test_negativerr5rrr8~r7z_TestStrftimeYear.test_negative)rrrrr�r)r"r/r2r(r8�
__classcell__rrr5rr*Ws	
r*c@s*eZdZdZd	dd�Zdd�Zdd�ZdS)
�_Test4dYearrNcCs�|p|j}|p	|j}|�|d�|d�|�|d�|d�|�|d�|d�|�|d�|d�|�|d�|d�|�|d�|d�dS)Nr�D�E�c���')r)r"rR)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)rRr"�lstripr�r�rbr�rrrrr(�sz_Test4dYear.test_large_yearcCs�|�|�d�|jd�|�|�d�d�|�|�d�d�|�|�d�td��|�|�d�td��|�|�t�tt��|�t|jtd�|�t��|�td�Wd�dS1sbwYdS)	Nrki.���z-1234i���z-123456i�2��i.�i�r)rRr"r)r�r�rbr�r�rrrrr8�s"�z_Test4dYear.test_negative)NN)rrrr)r.r(r8rrrrr:�s


r:c@�eZdZdS)�TestAsctime4dyearN�rrrrrrrrD��rDc@rC)�TestStrftime4dyearNrErrrrrG�rFrGc@s^eZdZee�ejdkd�dd���Ze�ejdkd�dd��Z	e�ejdkd�dd��Z
d	S)
�
TestPytime�zneeds tm_zone supportcCs0t��}|�t|d��|�t|d��|jdur#|�ttd��n|�|jtjtjg|j�|j	durA|�ttd��n|�|j	tj
|j�t�|�}t�|dd��}|�||�t�|�}t�|�}|�||�|�|j|j�|�|j	|j	�|�||�|�|j|j�|�|j	|j	�dS)N�	tm_gmtoff�tm_zoner r!r�)rrgr&r9rJrRr rr�rKr!rh)r�ltr�t9�new_lt�new_lt9rrr�test_localtime_timezone�s$

z"TestPytime.test_localtime_timezonecCs8t�dd�}|�|jd�t�dd�}|�|jd�dS)N�UTCr�z+0500z%zr�)rr�rRrKrJr?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�rJrK)rrS�strLrrr�test_short_times�s

zTestPytime.test_short_timesN)rrrrrrr�_STRUCT_TM_ITEMSrPrRrVrrrrrH�s"
rHzneed the _testcapi modulec@sXeZdZdZdZdd�Zdd�Zdd�Z	dd	d
�Z	ddd
�Z		ddd�Z
dd�ZdS)�CPyTimeTestCasez1
    Base class to test the C _PyTime_t API.
    NcCs6ddlm}|dd}d||_d|d|_dS)Nr)�
SIZEOF_TIME_Trrr)�	_testcapirY�
time_t_min�
time_t_max)rrY�bitsrrrr�szCPyTimeTestCase.setUpcCs|j|ko|jkSSr)r[r\)r�secondsrrr�
time_t_filter��zCPyTimeTestCase.time_t_filterc

Cs�dtttg}|r
|�d�d}dg}|D]}|D]}||}|�||f�qqdD]}d|t}|�|d||d|d||df�q*tjtjfD]	}	|�|	t�qO|rmdD]}d|}|�||f�q]d	tt}|�||f�|S)
z'Build timestamps used to test rounding.rg����MbP?)rr���{i�i�r�r=r>r?i��i?Bi�i�i�i�i�i�i�	i�
i�r)	rrar���r�r���!r)r
rbr�rdg@l)�US_TO_NS�MS_TO_NS�	SEC_TO_NS�append�extendrZ�INT_MIN�INT_MAX)
r�	use_float�units�values�
ns_timestamps�unit�valuer.�pow2r^rrr�_rounding_values�s2
��
z CPyTimeTestCase._rounding_valuescs2���fdd�}|���}||�}tD]H\}	}
t���8}|
|_|D]*}||
d�}
z|||	�}||�}WntyC|�d|
�Ynw|�|||
�q!Wd�n1sVwYq|jt	}||f}||�}tD]*\}	}|D]#}||	d�}
|j
t|
d��
|||	�Wd�n1s�wYqrqldS)NcsX�rtt����fdd�|D�}n
t���fdd�|D�}�r&t�|�}tt|��S)Ncsg|]}|��qSrr�r�r.��
unit_to_nsrrr�-r�zKCPyTimeTestCase._check_rounding.<locals>.convert_values.<locals>.<listcomp>csg|]}|��qSrrrwrxrrr�0r�)rjr>�filter�sorted�set)rrrq��unit_to_secro�value_filterrxr�convert_values*s
z7CPyTimeTestCase._check_rounding.<locals>.convert_values)rt�roundingz!Error on timestamp conversion: %s)r0)rv�ROUNDING_MODES�decimal�localcontextr��	Exceptionr�rR�OVERFLOW_SECONDSrjrbr�)r�pytime_converter�
expected_funcror~rr�rr�valid_values�time_rnd�decimal_rnd�contextrt�
debug_infor�r�r.�overflow_values�_rr}r�_check_rounding'sB



�����


����zCPyTimeTestCase._check_roundingrcC�|�||d||�dS)NF�r��rr�r�r~rrrr�check_int_roundingT��z"CPyTimeTestCase.check_int_roundingcCr�)NTr�r�rrr�check_float_roundingYr�z$CPyTimeTestCase.check_float_roundingcCst�|�}|�d�}t|�S)Nr)r��Decimal�quantizer+)rr~rsrrr�
decimal_round^s

zCPyTimeTestCase.decimal_roundr)rN)rrr�__doc__r�rr_rvr�r�r�r�rrrrrX�s4
�.
�
�rXc@speZdZdZe�de�Zdd�Zdd�Z	dd�Z
d	d
�Zdd�Ze
�eed
�d�dd��Zdd�Zdd�ZdS)�TestCPyTimez#
    Test the C _PyTime_t API.
    lc	sxddlm�dd�}|j�fdd�dd�|d�tD]\}}|�t���td	��Wd�n1s4wYqdS)
Nr��PyTime_FromSecondscSstj|kotjkSSr)rZrmrn��secsrrr�c_int_filteror`z2TestCPyTime.test_FromSeconds.<locals>.c_int_filterc��|�Srr)r��rndr�rrr�r�z.TestCPyTime.test_FromSeconds.<locals>.<lambda>cS�|tSr�rjr�rrrr�sr��rr)rZr�r�r�rbr�r>)rr�r�r�rr�r�test_FromSecondsks����zTestCPyTime.test_FromSecondsc	szddlm}��|dd����|�fdd��tD] \}}��t��|td�|�Wd�n1s5wYqdS)Nr)�PyTime_FromSecondsObjectcSr�rr�r�rrrr��r�z4TestCPyTime.test_FromSecondsObject.<locals>.<lambda>cs��|t�Sr)r�rj�r.rrrr��sr)rZr�r�r�r�rbrlr>)rr�r�r�rrr�test_FromSecondsObject{s�
����z"TestCPyTime.test_FromSecondsObjectc	srddlm�dd�}|��fdd�|t�tD]\}}|�t���td��Wd�n1s1wYqdS)Nr��PyTime_AsSecondsDoublecSs(t|�tdkrt|t�St|�tS�Nr)�absrjr>r�rrr�float_converter�sz9TestCPyTime.test_AsSecondsDouble.<locals>.float_convertercr�rr�r.r�r�rrr��r�z2TestCPyTime.test_AsSecondsDouble.<locals>.<lambda>r)rZr�r��	NS_TO_SECr�rbr�r>)rr�r�r�rr�r�test_AsSecondsDouble�s����z TestCPyTime.test_AsSecondsDoublecst�|����fdd�}|S)Ncst�|��}��|�Sr)r�r�r�)rtrs��denomrrr�	converter�s
z7TestCPyTime.create_decimal_converter.<locals>.converter)r�r�)r�denominatorr�rr�r�create_decimal_converter�s
z$TestCPyTime.create_decimal_convertercshddlm}|�t���fdd�}tjdkr&ddlm�m���fdd�}n|j}|j	||t
|d	�dS)
Nr)�PyTime_AsTimevalcs�|�}t|t�Sr)�divmod�	SEC_TO_US)r.�us)�us_converterrr�timeval_converter�s
z5TestCPyTime.test_AsTimeval.<locals>.timeval_converter�win32)�LONG_MIN�LONG_MAXcs�|ko	�kSSrrr�)r�r�rr�seconds_filter�r#z2TestCPyTime.test_AsTimeval.<locals>.seconds_filterr�)rZr�r�rhrOrMr�r�r_r�r�)rr�r�r�r)r�r�r�r�test_AsTimeval�s


�zTestCPyTime.test_AsTimeval�PyTime_AsTimespecz need _testcapi.PyTime_AsTimespeccs4ddlm�dd�}|j�fdd�|t|jd�dS)Nr�r�cSs
t|t�Sr)r�rjr�rrr�timespec_converter�s
z7TestCPyTime.test_AsTimespec.<locals>.timespec_convertercr�rrr�r�rrr��r�z-TestCPyTime.test_AsTimespec.<locals>.<lambda>r�)rZr�r�r�r_)rr�rr�r�test_AsTimespec�s
�zTestCPyTime.test_AsTimespeccC�$ddlm}|�||�t�t�dS)Nr)�PyTime_AsMilliseconds)rZr�r�r�rir�)rr�rrr�test_AsMilliseconds��
�zTestCPyTime.test_AsMillisecondscCr�)Nr)�PyTime_AsMicroseconds)rZr�r�r�rhr�)rr�rrr�test_AsMicroseconds�r�zTestCPyTime.test_AsMicrosecondsN)rrrr��math�ceilrjr�r�r�r�r�r�rrr9rZr�r�r�rrrrr�ds	�
r�c@s4eZdZdZdZdd�Zdd�Zdd�Zd	d
�ZdS)�
TestOldPyTimezH
    Test the old C _PyTime_t API: _PyTime_ObjectToXXX() functions.
    lcCs:ddlm}|j|dd�|jd�|j||j|jd�dS)Nr)�pytime_object_to_time_tcSs|Srrr�rrrr��sz5TestOldPyTime.test_object_to_time_t.<locals>.<lambda>r�)rZr�r�r_r�r�)rr�rrr�test_object_to_time_t�s�
�z#TestOldPyTime.test_object_to_time_tcs��fdd�}|S)Ncsht�|�\}}t|�}|�9}��|�}|dkr$|�7}|d8}||fS|�kr0|�8}|d7}||fS)Nrr)r��modfr+r�)r��	floatpart�intpart��sec_to_unitrrrr��s
�z1TestOldPyTime.create_converter.<locals>.converterr)rr�r�rr�r�create_converter�szTestOldPyTime.create_converterc	C�ddlm}|j|dd�|jd�|j||�t�|jd�tD] \}}|�t	��|t
d�|�Wd�n1s:wYqdS)Nr)�pytime_object_to_timevalcS�|dfSr�rr�rrrr��r�z6TestOldPyTime.test_object_to_timeval.<locals>.<lambda>r�r)rZr�r�r_r�r�r�r�rbrlr>)rr�r�r�rrr�test_object_to_timeval�������z$TestOldPyTime.test_object_to_timevalc	Cr�)Nr)�pytime_object_to_timespeccSr�r�rr�rrrr�r�z7TestOldPyTime.test_object_to_timespec.<locals>.<lambda>r�r)rZr�r�r_r�r�rjr�rbrlr>)rr�r�r�rrr�test_object_to_timespecr�z%TestOldPyTime.test_object_to_timespecN)	rrrr�r�r�r�r�r�rrrrr��sr��darwinztest weak linking on macOSc@seZdZdd�ZdS)�TestTimeWeaklinkingcCs�ddl}ddl}|��}d}||vs||st�|�d���tdd�|��d�d�D��}gd�}|dkrJ|D]}|�t	t
|�d	|�d��q8dS|D]}|�t	t
|�d	|�d
��qLdS)Nr�HAVE_CLOCK_GETTIMEz is not availablecss�|]}t|�VqdSr)r+)r�r~rrr�	<genexpr>+s�z;TestTimeWeaklinking.test_clock_functions.<locals>.<genexpr>�.)rAr2r<r`�clock_settime_nsrZ)r�r�ztime.z
 is available)�	sysconfigrM�get_config_varsr�SkipTest�tuple�mac_verr r&r9rr$)rr�rM�config_vars�var_namer��clock_namesrrrr�test_clock_functions"s ��z(TestTimeWeaklinking.test_clock_functionsN)rrrr�rrrrr�sr��__main__)2�testr�test.supportrr��enumrr�rMrOr�rrJrrZ�ImportErrorr�get_config_varrr�r�r�rhrirjr��IntEnumrrrrrr��TestCaserrrr*r:rDrGrH�skipIfrXr�r�rr�r�mainrrrr�<module>sj�



�	
. 8uB
�

Youez - 2016 - github.com/yon3zu
LinuXploit