Sindbad~EG File Manager

Current Path : /proc/2568807/root/usr/local/lib/python3.12/test/__pycache__/
Upload File :
Current File : //proc/2568807/root/usr/local/lib/python3.12/test/__pycache__/test_time.cpython-312.opt-2.pyc

�

'ΜgƩ��J�ddlmZddlmZddlZddlZddlZddlZddlZddl	Z	ddl
Z
ddlZddlZddl
Z
	ddlZddlmZe
j"d�xsdZddezdz
zdz
Zedz
d	zZd
ZdZd
ZdZdZGd
�dej4�ZdZdZej<ej<fej>ej>fej@ej@fejBejBffZ"Gd�de
jF�Z$Gd�de
jF�Z%Gd�d�Z&Gd�d�Z'Gd�d�Z(Gd�de&e(e
jF�Z)Gd�de'e(e
jF�Z*Gd�d e
jF�Z+e
jXedud!�Gd"�d#��Z-Gd$�d%e-e
jF�Z.Gd&�d'e-e
jF�Z/e
j`e	jd(k(d)�Gd*�d+e
jF��Z1e2d,k(re
jf�yy#e$rdZY���wxYw)-�)�support)�warnings_helperN)�skip_if_buggy_ucrt_strfptime�
SIZEOF_INT����li@B��iʚ;c��eZdZdZdZdZdZy)�_PyTimerr��N)�__name__�
__module__�__qualname__�ROUND_FLOOR�
ROUND_CEILING�ROUND_HALF_EVEN�ROUND_UP���+/usr/local/lib/python3.12/test/test_time.pyr
r
s���K��M��O��Hrr
l����l����c���eZdZd�Zd�Zd�Zd�Zeje	e
d�d�d��Zeje	e
d�d�eje	e
d�d	�d
���Zeje	e
d�d�eje	e
d�d�d
���Z
eje	e
d�d�d��Zeje	e
d�d�d��Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zed��Zd�Zd�Zd�Zd �Zej<ej@d!�d"��Z!eje	e
d#�d$�d%��Z"d&�Z#d'�Z$d(�Z%d)�Z&d*�Z'eje(jR�d+d,k7d-�d.��Z*d/�Z+d0�Z,ej<ejZd1�d2��Z.d3�Z/eje	e
d�d4�d5��Z0d6�Z1d7�Z2y8)9�TimeTestCasec�6�tj�|_y�N)�time�t��selfs r�setUpzTimeTestCase.setUp9s�������rc��tjtjtjtjyr)r�altzone�daylight�timezone�tznamer s r�test_data_attributesz!TimeTestCase.test_data_attributes<s������
�
��
�
���rc���tj�tjd�}|j|j�|j	|j
�y)Nr)r�get_clock_info�assertFalse�	monotonic�
assertTrue�
adjustable)r!�infos  r�	test_timezTimeTestCase.test_timeBs=���	�	���"�"�6�*��������(�������(rc����fd�}|tj�tj��|tj�tj��|tj�tj
��|tj�tj��ttd�r-|tj�tj��ttd�rL|tjtj�tjtj��yy)Nc�~���j|t�t|dz�}�j||z
d||f�y)Nge��Al@�F)�assertIsInstance�int�
assertLess)�sec�ns�sec_nsr!s   �r�check_nsz0TimeTestCase.test_time_ns_type.<locals>.check_nsIs8����!�!�"�c�*���s��^�F��O�O�V�b�[�7�S�"�I�>r�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)r!r9s` r�test_time_ns_typezTimeTestCase.test_time_ns_typeHs����	?�	���������	!�����!��"�"�$�	&���"�"�$��%�%�'�	)���"�"�$��%�%�'�	)��4��'��T�%�%�'��(�(�*�
,��4��)��T�'�'��(;�(;�<��*�*�4�+>�+>�?�
A�*rr;zneed time.clock_gettime()c�v�tjtj�}|j|t�yr)rr;rDr3�float�r!rs  r�test_clock_realtimez TimeTestCase.test_clock_realtimeas*��
���t�2�2�3�����a��'r�CLOCK_MONOTONICzneed time.CLOCK_MONOTONICc��tjtj�}tjtj�}|j||�yr)rr;rK�assertLessEqual)r!�a�bs   r�test_clock_monotonicz!TimeTestCase.test_clock_monotonicgs@��

���t�3�3�4�����t�3�3�4�����Q��"r�pthread_getcpuclockidz!need time.pthread_getcpuclockid()c�|�tjtj��}|j	t|�tu�tj�dk(rBtjj�dkr!|j|tj�n`tjjd�r!|j|tj�n |j|tj�tj |�}tj |�}|j#||�y)N�AIX� �sunos)rrQ�	threading�	get_identr-�typer4�platform�system�sys�maxsize�
bit_length�assertEqual�CLOCK_THREAD_CPUTIME_ID�
startswith�assertNotEqualr;rM)r!�clk_id�t1�t2s    r�test_pthread_getcpuclockidz'TimeTestCase.test_pthread_getcpuclockidps���
�+�+�I�,?�,?�,A�B������V���+�,��?�?���%�3�;�;�+A�+A�+C�r�+I����V�T�%A�%A�B�
�\�\�
$�
$�W�
-����V�T�%A�%A�B������(D�(D�E�
�
�
��
'��
�
�
��
'�����R��$r�clock_getreszneed time.clock_getres()c��tjtj�}|j|d�|j	|d�y)N���?)rrfrD�
assertGreaterrM)r!�ress  r�test_clock_getreszTimeTestCase.test_clock_getres�s:������ 3� 3�4�����3��$����S�#�&r�
clock_settimezneed time.clock_settime()c�<�tjtj�}	tjtj|�ttd�r5|j
ttjtjd�yy#t$rY�QwxYw)NrKr)	rr;rDrm�PermissionErrorrB�assertRaises�OSErrorrKrIs  r�test_clock_settimezTimeTestCase.test_clock_settime�s��
���t�2�2�3��	����t�2�2�A�6��4�*�+����g�"�0�0�$�2F�2F��
K�,���	��	�s�$B�	B�Bc	�~�|jtj|j�tjtj
|j���|jt
tjtj
|j���t
|j��yr)r^r�ctimer�asctime�	localtimer4�mktimer s r�test_conversionszTimeTestCase.test_conversions�sn��������D�F�F�+����d�n�n�T�V�V�&<�=�	?�����T�[�[�������)?�@�A��T�V�V��	&rc���|jttjd�|jttjd�tjd�y)N������g333333�?)rp�
ValueErrorr�sleepr s r�
test_sleepzTimeTestCase.test_sleep�s9�����*�d�j�j�"�5����*�d�j�j�"�5��
�
�3�rc�l�tjd�}|jt|�ddd|�y)Nr�)i�rrrrr)r�gmtimer^�tuple)r!�epochs  r�
test_epochzTimeTestCase.test_epoch�s/�����A�������u��b�q�)�+@�%�Hrc�f�tj|j�}dD]}d|z}	tj||�� |j
ttjd|�|j
ttjd|�y#t$r|jd|z�Y��wxYw)N�rN�ArO�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)rr�r�strftimer|�failrp�	TypeError)r!�tt�	directive�formats    r�
test_strftimezTimeTestCase.test_strftime�s���
�[�[����
 ��G�I��I�%�F�
G��
�
�f�b�)�G�	
���)�T�]�]�E�2�>����*�d�m�m�V�R�@���
G��	�	�<�v�E�F�
G�s�B�B0�/B0c�6�|d�|d�|jt|d�|jt|d�|d�|d�|jt|d�|jt|d�|d	�|jt|d
�|jt|d�|d�|jt|d
�|jt|d�|jt|d�|d�|d�|jt|d�|j|d�|d��|jt|d�|d�|d�|jt|d�|jt|d�y)N)	r
rrrrrrrr{)	r
�rrrrrrr{)	r
r{rrrrrrr{)	r
�
rrrrrrr{)	r
rrrrrrrr{)	r
r�rrrrrr{)	r
rr{rrrrrr{)	r
rrTrrrrrr{)	r
rr�rrrrr{)	r
rrr{rrrrr{)	r
rr�rrrrr{)	r
rrr�;rrrr{)	r
rrrr{rrrr{)	r
rrr�<rrrr{)	r
rrrrr{rrr{)	r
rrrrr�rrr{)	r
rrrr�=rrr{)	r
rrrr�>rrr{)	r
rrrrrr{rr{)	r
rrrrrr�rr{)	r
rrrrrrzrr{)	r
rrrrrrrr{)	r
rrrrrrinr{)	r
rrrrrrr{r{)	r
rrrrrrior{)rpr|r^)r!�funcs  r�_bounds_checkingzTimeTestCase._bounds_checking�s���	
�
,�-��
-�.����*�d�<�	>����*�d�<�	>�	
�
,�-��
-�.����*�d�<�	>����*�d�<�	>�	
�
-�.����*�d�<�	>����*�d�<�	>�	
�
-�.����*�d�<�	>����*�d�<�	>�	
���*�d�<�	>�	
�
-�.��
-�.����*�d�<�	>�	
����>�?��>�?�	A����*�d�<�	>�	
�
,�-��
.�/����*�d�<�	>����*�d�=�	?rc�(�|jd��y)Nc�.�tjd|�S)N��rr�)�tups r�<lambda>z;TimeTestCase.test_strftime_bounding_check.<locals>.<lambda>�s��$�-�-��C�*@r)r�r s r�test_strftime_bounding_checkz)TimeTestCase.test_strftime_bounding_check�s�����@�Arc��dD]6}tdd�D]%}dD]}	tj||z|z�� �'�8y#t$rY�1wxYw)N)r�r�z%Az%AAr�)r�zA%zAA%z%A%zA%A%z%#)�rangerr�r|)r!r�r��zs    r�test_strftime_format_checkz'TimeTestCase.test_strftime_format_check�sW��
*�A��3��%��B�A���
�
�a�!�e�a�i�0�C�&�*��
&����s�=�	A		�A		c��d}tj�5tjdd�}ddd�|j	|�y#1swY�xYw)Nz2000 01 01 00 00 00 1 001z%Y %m %d %H %M %S %w %j)	��rrrrrrrr)r�check_warningsrr�r^)r!�expected�results   r�test_default_values_for_zeroz)TimeTestCase.test_default_values_for_zerosD��
/��
�
+�
+�
-��]�]�#<�n�M�F�.�����6�*�.�
-�s�A	�	Ac	��tj|j�}dD]4}d|z}tj||�}	tj||��6y#t
$r|j
d|�d|�d��Y�[wxYw)Nr�r�zconversion specifier z failed with 'z' input.)rr�rr��strptimer|r�)r!r�r�r��strf_outputs     r�
test_strptimezTimeTestCase.test_strptimesy���[�[����
 ��G�I��9�_�F��-�-���3�K�
1��
�
�k�6�2�
G���
1��	�	�!�;�0�1�
1�s�A�!A>�=A>c��|jttjdd�|jttjdd�y)Ns2009�%Y�2009s%Y)rpr�rr�r s r�test_strptime_bytesz TimeTestCase.test_strptime_bytess2�����)�T�]�]�G�T�B����)�T�]�]�F�E�Brc��|jt�5}tjdd�ddd�|j	j
jd�|jt�5}tjdd�ddd�|j	|j
jd�y#1swY��xYw#1swY�<xYw)Nr�z%DT�19z%Y %)rpr|rr��assertIs�	exception�__suppress_context__)r!�es  r�test_strptime_exception_contextz,TimeTestCase.test_strptime_exception_context s���
�
�
�z�
*�a��M�M�"�d�#�+��
�
�a�k�k�6�6��=�
�
�
�z�
*�a��M�M�$��'�+��
�
�a�k�k�6�6��=�
+�
*��+�
*�s�B6�0C�6B?�Cc	��tjtj|j��tt
fD]N}tj|ddfdz�}|j
|tt|��dt|���P|jttjtdzfdz�|jttjt
dz
fdz�|jttjd�|jttjd�|jttjd�y)Nr�r�rrrrrr�rrrrrrrrrr)
rrrrrrrrrr)rrur�r�TIME_MAXYEAR�TIME_MINYEARr^�len�strrp�
OverflowErrorr�)r!�bigyear�ascs   r�test_asctimezTimeTestCase.test_asctime*s������T�[�[����(�)�$�\�1�G��,�,���A���9�:�C����S�#�c�'�l�"3�!3�!4�5�s�7�|�D�2�	
���-����'�!�+�-��8�	:����-����'�!�+�-��8�	:����)�T�\�\�1�5����)�T�\�\�2�6����)�T�\�\�9�=rc�B�|jtj�yr)r�rrur s r�test_asctime_bounding_checkz(TimeTestCase.test_asctime_bounding_check9s�����d�l�l�+r�(musl libc issue on Emscripten, bpo-46390c��tjd�}|jtj|�d�tjd�}|jtj|�d�dD]O}	tj|ddfdz�}|jtj|�d	dt	|���Qy#t
tf$rY�dwxYw)
N)	i��	r�rr�4rrr{zSun Sep 16 01:03:52 1973)	r�rrrrrrrr{zSat Jan  1 00:00:00 2000)i�����drr�i�'r�
r��)rrwr^rtr�r|r�)r!r�year�testvals    r�
test_ctimezTimeTestCase.test_ctime<s���
�K�K�9�:��������A��(B�C��K�K�7�8��������A��(B�C�8�D�
F��+�+�t�Q��m�f�&<�=��� � ����G�!4�R�S�!9�3�t�9�E�9���
�.�
��
�s�;C
�
C�C�tzsetz"time module has no attribute tzsetc�,�ddlm}d}d}d}d}|jdd�}	||d<tj�||d<tj�|jtj|�tj|��|jtjd�|jtjd�|jtj|�jd�||d<tj�|jtj|�tj|��|jtjd�|jttj�d	�|jtjd
�|jtjd�|jtjd�|jtj|�jd�|jttj�d	�||d<tj�|jtj|�tj|��|jtjdd
tjd�|j!tjd
dvt#tjd
��|jttj�d	�|jtjd
�|jtjd�|jtjd�|jtj|�jd
�|�||d<nd|vr|d=tj�y#|�||d<nd|vr|d=tj�wxYw)Nr)�environg�z�AzEST+05EDT,M4.1.0,M10.5.0zAEST-10AEDT-11,M10.5.0,M3.5.0zUTC+0�TZ)�EST�EDTrr�PFi@8�AESTEST)�AEDTr�i`s��iPe��)�osr��getrr�r^r�rvr%r&�tm_isdstrar'r�r$�assertInr-r�)r!r��xmas2002�eastern�victoria�utc�org_TZs       r�
test_tzsetzTimeTestCase.test_tzsetNs���	� ��-��2�������T�$�'��5	�$�G�D�M��J�J�L��G�D�M��J�J�L�������H�%�t�~�~�h�'?�
�
���T�]�]�A�.����T�]�]�A�.����T�^�^�H�5�>�>��B�$�G�D�M��J�J�L�������H� 5�t�~�~�h�7O�P����T�[�[�.�9����S����-�q�1����T�]�]�A�.����T�]�]�E�2����T�\�\�5�1����T�^�^�H�5�>�>��B����S����-�q�1�%�G�D�M��J�J�L�������H� 5�t�~�~�h�7O�P�
�M�M�$�+�+�a�.�<�$�+�+�a�.�I��O�O�D�K�K��N�o�=�s�4�;�;�q�>�?R�S����S����-�q�1����T�]�]�A�.����T�]�]�F�3����T�\�\�6�2����T�^�^�H�5�>�>��B�
�!� &���
�����D�M��J�J�L��	�!� &���
�����D�M��J�J�L�s�N(O.�.%Pc��tjtjtjfD] }dD]}|j	t
||���"y)N)gZb���t�gZb���ti)rrtr�rvrpr�)r!r��unreasonables   r�test_insane_timestampsz#TimeTestCase.test_insane_timestamps�s=��
�J�J����T�^�^�;�D� -���!�!�-��|�D�!.�<rc�V�tj�tjd�yr)rrtr s r�test_ctime_without_argz#TimeTestCase.test_ctime_without_arg�s��	
�
�
���
�
�4�rc���tj�}tjd�}tj|�}tj|�}|j||d��y�Ng�������?)�delta)rr�rw�assertAlmostEqual)r!�gt0�gt1�t0rcs     r�test_gmtime_without_argz$TimeTestCase.test_gmtime_without_arg�sL���k�k�m���k�k�$���
�[�[��
��
�[�[��
�����r�2�S��1rc���tj�}tjd�}tj|�}tj|�}|j||d��yr)rrvrwr)r!�lt0�lt1rrcs     r�test_localtime_without_argz'TimeTestCase.test_localtime_without_arg�sM���n�n����n�n�T�"��
�[�[��
��
�[�[��
�����r�2�S��1rc��dD]=}	tj|�}|jtj|�|��?y#tt
f$rY�RwxYw)N)rzr{rr)rrvr^rwr�rq)r!rr�s   r�test_mktimezTimeTestCase.test_mktime�sR���A�
5��^�^�A�&��� � ����R��!�4�
 ��"�7�+�
��
�s�A�A�Ar�glibcz0disabled because of a bug in glibc. Issue #13309c�(�tj|j�}tjd|�}|j	|d�	tj
d�|jtjd|�|�y#t$rY�2wxYw)N�%Z�LMT)	r{rrrrrr{r{r{)rr�rr�rarwr�r^)r!r�r's   r�test_mktime_errorzTimeTestCase.test_mktime_error�sy���[�[����
 �����t�R�(�����F�E�*�	��K�K�7�8�	
������t�R�0�&�9���	��	�s�	B�	B�Bc��td�D�cgc]}tj���}}|d}|ddD]}|j||d|z�|}�tj�}tjd�tj�}||z
}|j||�|j
d|k�tjd�}|j
|j�|j|j�ycc}w)Nr�rrztimes=%sg�?g�������?r,)
r�rr,�assertGreaterEqualr}rjr-r*r+r.)r!�n�timesrcrd�dtr/s       r�test_monotoniczTimeTestCase.test_monotonic�s���+0��:�6�:�a����!�:��6�
�1�X�����)�B��#�#�B��J��,>�?��B��
�^�^�
���
�
�3��
�^�^�
��
�"�W�����2�r�"�	
������$��"�"�;�/��������'�������)��'7s�Dc�,�tj�yr)rr>r s r�test_perf_counterzTimeTestCase.test_perf_counter�s�����rz"process_time not available on WASIc�>�tj�}tjd�tj�}|j||z
d�tjd�}|j|j�|j|j�y)N皙�����?�{�G�z�?r@)	rr@r}r5r*r-r,r+r.�r!�start�stopr/s    r�test_process_timezTimeTestCase.test_process_time�sr��
�!�!�#���
�
�5��� � �"��	
����u��e�,��"�"�>�2��������'�������)rc��ttd�sStjj	d�r#|jdtj���n|j
d�tj�}tjd�tj�}|j||z
d�tjd�}|j|j�|j|j�y)Nr:)�linux�winz*time.thread_time() should be available on zneed time.thread_timerr)rBrr[rYr`r��skipTestr:r}r5r*r-r,r+r.rs    r�test_thread_timezTimeTestCase.test_thread_time�s����t�]�+��|�|�&�&�'7�8��	�	� �\�\�,�-��
�
�5�6�� � �"���
�
�5�����!��	
����u��e�,��"�"�=�1��������'�������)rzneed time.clock_settimec��tj�}tjtj�}	tjtj|dz
�tj�}tjtj|�|j||�y#t
$r}|j
|�Yd}~�jd}~wwxYw)Ni)rr,r;rDrmror$r)r!rc�realtime�errrds     r�test_monotonic_settimez#TimeTestCase.test_monotonic_settimes����^�^�
���%�%�d�&9�&9�:��	����t�2�2�H�t�O�D��^�^�
�����4�.�.��9�����B�'���	��M�M�#����	�s�'B+�+	C�4C
�
Cc��d}dD]}	tj|��|�|jd�|jttj|�|jttj|�|jttjtd��|jttjtd��y#t$r|jd�Y��t$r|}Y��wxYw)N)r{i@llzneed 64-bit time_tz&unable to find an invalid time_t value�nan)	rrvr�r$rqrprtr|rH)r!�invalid_time_t�time_ts   r�test_localtime_failurez#TimeTestCase.test_localtime_failures�����/�F�
����v�&�0��!��M�M�B�C����'�4�>�>�>�B����'�4�:�:�~�>�	
���*�d�n�n�e�E�l�C����*�d�j�j�%��,�?��!�
4��
�
�2�3��
�!'���
�s�C�D�6
D�Dc���gd�}ttd�r|jd�|D�]}|j|��5tj|�}|j|jt�|j|jd�|j|jt�|j|jt�|j|jd�|j|jd�|j|jt�ddd���
|j!t"tjd�y#1swY��;xYw)N)r,r>r@rr:)�namer�rhri�xxx)rBr�append�subTestr*r3�implementationr�rar,�bool�
resolutionrHrjrMr.rpr|)r!�clocksr0r/s    r�test_get_clock_infoz TimeTestCase.test_get_clock_info4s��
���4��'��M�M�-�(��D����4��(��*�*�4�0���%�%�d�&9�&9�3�?��#�#�D�$7�$7��<��%�%�d�n�n�d�;��%�%�d�o�o�u�=��"�"�4�?�?�C�8��$�$�T�_�_�c�:��%�%�d�o�o�t�<�)�(��	
���*�d�&9�&9�5�A�)�(�s�C*E�E#	N)3rrrr"r(r0rF�unittest�
skipUnlessrBrrJrPrerlrrrxr~r�r�r�r�r�r�rr�r�r�r�r��skipIfr�
is_emscriptenr�r�r�r�rr
rrY�libc_verrrr�is_wasir r%r)r.r8rrrrr7s�����)�A�2�X������7�4�6�(�6�(��X������7�4�6��X�����'8�9�4�6�#�6�6�#�
�X�����'>�?�<�>��X������7�4�6�
%�6�>�
%��X�����~�6�3�5�'�5�'�
�X������7�4�6�	K�6�	K�&��
I�
A�7?�rB��+�"�
1�"�
1�C�
>�
>�,��X�_�_����I��
F��
F��X�����w�/�=�?�G�?�G�RE��2�2�5��X���*��*�*�,�Q�/�7�:�K�M�:�M�:�*�.��X�_�_����=��*��*�*�(�X������7�2�4�(�4�(�@�*Brrc��eZdZd�Zd�Zd�Zy)�
TestLocalec�T�tjtj�|_yr��locale�	setlocale�LC_ALL�oldlocr s rr"zTestLocale.setUpOs���&�&�v�}�}�5��rc�`�tjtj|j�yrrBr s r�tearDownzTestLocale.tearDownRs�����������4rc���	tjtjd�}tjdd�y#tj$r|j	d�Y�=wxYw)N�fr_FRz$could not set locale.LC_ALL to fr_FRz%B)	i�rrrrrrrr)rCrDrE�Errorr$rr�)r!�tmps  r�
test_bug_3061zTestLocale.test_bug_3061UsS��	B��"�"�6�=�=�'�:�C�	
�
�
�d�2�3���|�|�	B��M�M�@�A�	B�s�$=�$A$�#A$N)rrrr"rHrMrrrr@r@Ns��6�5�4rr@c��eZdZdZd�Zd�Zy)�_TestAsctimeYear�%dc�V�tj|fdz�j�dS)Nr�r{)rru�split�r!r�s  r�yearstrz_TestAsctimeYear.yearstras%���|�|�Q�D�8�O�,�2�2�4�R�8�8rc��|j|jd�d�|j|jd�d�y)N�90�12345��[�	123456789)r^rTr s r�test_large_yearz _TestAsctimeYear.test_large_yeards4��������e�,�g�6�������i�0�+�>rN)rrr�_formatrTrZrrrrOrO^s���G�9�?rrOc����eZdZejdd�dk(rdZndZd�Zeje	jd�d��Zd	�Zed
��fd��Z
ed��fd
��Z[�xZS)�_TestStrftimeYearr�)	rrrrrrrrr�0001�%04drPc�6�tjd|fdz�S)Nr�r�r�rSs  rrTz_TestStrftimeYear.yearstrus���}�}�T�A�4�(�?�3�3rzrequires strftime extensionc�r�|jdk(r|jd�yd�}|jd|��y)Nr_c�6�tjd|fdz�S)Nz%4Yr�r�)r�s r�year4dz-_TestStrftimeYear.test_4dyear.<locals>.year4d�s���}�}�U�Q�D�8�O�<�<r)r�)r[�	test_year)r!rcs  r�test_4dyearz_TestStrftimeYear.test_4dyearxs1��
�<�<�6�!��N�N�6�"�
=��N�N�6��N�/rc��d}	tjd|fdz�d}tj||�S#t$rd}Y�#wxYw)Nz5strftime() is limited to [1; 9999] with Visual Studior�r�TF)rr�r|r9r:)r��msg�conds   r�skip_if_not_supportedz'_TestStrftimeYear.skip_if_not_supported�sP��E��	��M�M�$���x��0��D��"�"�4��-�-��	�	��D�	�s�6�A�Ar�c� ��t�|��Sr)�superrZ�r!�	__class__s �rrZz!_TestStrftimeYear.test_large_year�s����w�&�(�(rrc� ��t�|��Sr)rk�
test_negativerls �rroz_TestStrftimeYear.test_negative�s����w�$�&�&r)rrrrr�r[rTr9r:r�has_strftime_extensionsrerirZro�
__classcell__)rms@rr]r]is�����t�}�}�T�?�+�v�5�����4��X����'�'�)F��0��0�	.��5�!�)�"�)��1��'��'�	rr]c�$�eZdZdZdd�Zd�Zd�Zy)�_Test4dYearrPNc��|xs|j}|xs|j}|j|d�|dz�|j|d�|dz�|j|d�|dz�|j|d�|dz�|j|d�|dz�|j|d�|dz�y)Nr�D�E�c���')r[rTr^)r!�fmtr�s   rrdz_Test4dYear.test_year�s����!�T�\�\���#�t�|�|������a��S�1�W�-�����b��S�2�X�.�����b��S�2�X�.�����b��S�2�X�.�����c��S�3�Y�/�����d��S�4�Z�0rc��|j|jd�jd�d�|j|jd�jd�d�|j|jt�jd�t	t��|jt|jtdz�y)NrV�+rWrXrYr)r^rT�lstripr�r�rpr�r s rrZz_Test4dYear.test_large_year�s���������e�,�3�3�C�8�'�B�������i�0�7�7��<�k�J�������l�3�:�:�3�?��\�AR�S����-����|�a�7G�Hrc���|j|jd�|jdz�|j|jd�d�|j|jd�d�|j|jd�td��|j|jd�td��|j|jt�tt��|jt|jtdz
�|jt�5|jtdz
�ddd�y#1swYyxYw)	Nr{i.���z-1234i���z-123456i�2��i.�i�r)r^rTr[r�r�rpr�r�r s rroz_Test4dYear.test_negative�s���������b�)�4�<�<�"�+<�=�������e�,�g�6�������g�.�	�:�������j�1�3�z�?�C�������k�2�C��4D�E�������l�3�S��5F�G����-����|�a�7G�H�
�
�
�}�
-��L�L�,���*�+�.�
-�
-�s�4E�E )NN)rrrr[rdrZrorrrrsrs�s���G�1�I�
,rrsc��eZdZy)�TestAsctime4dyearN�rrrrrrr�r�����rr�c��eZdZy)�TestStrftime4dyearNr�rrrr�r��r�rr�c�:�eZdZeej
ejdk(d�eje	jd�d����Zej
ejdk(d�d��Zej
ejdk(d�d��Z
y)�
TestPytime�zneeds tm_zone supportr�c��tj�}|jt|d��|jt|d��|j�!|jttd��nH|j|jtjtjg|j�|j�!|jttd��n7|j|jtj|j�tj|�}tj|dd�}|j||�tj|�}tj|�}|j||�|j|j|j�|j|j|j�|j||�|j|j|j�|j|j|j�y)N�	tm_gmtoff�tm_zoner&r'r�)rrvr-rBr�r^r&r$r�r�r'rw)r!�ltr�t9�new_lt�new_lt9s      r�test_localtime_timezonez"TestPytime.test_localtime_timezone�s����^�^�
�������K�0�1������I�.�/��<�<���O�O���j� 9�9�:����R�\�\�T�]�]�D�L�L�,I�"�+�+�,V�+V�W�
�:�:���O�O���h� 7�7�8����R�Z�Z����R�[�[�)A�B�

�K�K��O��$�+�+�b��!�f�"5�R�����B������"��d�n�n�R�.@�G������$�����)�)�2�<�<�8����������4�����"�%�����)�)�2�<�<�8�������"�*�*�5rc���tjdd�}|j|jd�tjdd�}|j|jd�y)N�UTCrz+0500z%zr�)rr�r^r�r�rIs  r�test_strptime_timezonez!TestPytime.test_strptime_timezone�sJ���M�M�%��&��������E�*��M�M�'�4�(��������h�/rc��ddl}d}|j|�}|j|jd�|j|jd�y)NrsLctime
struct_time
p0
((I2007
I8
I11
I1
I24
I49
I5
I223
I1
tp1
(dp2
tp3
Rp4
.)�pickle�loadsr�r�r�)r!r��str�s    r�test_short_timeszTestPytime.test_short_times�sA��	�m��
�\�\�"�
���
�
�b�l�l�D�)��
�
�b�j�j�$�'rN)rrrrr9r:r�_STRUCT_TM_ITEMSr;rr<r�r�r�rrrr�r��s���!��X����.�.�"�4�6M�N��X�_�_����I�� 6��O�"�
 6�D�X����.�.�"�4�6M�N�0�O�0��X����.�.�"�4�6M�N�(�O�(rr�zneed the _testcapi modulec�H�eZdZ	dZd�Zd�Zd�Z	d	d�Z	d
d�Z	d
d�Z	d�Z
y)�CPyTimeTestCaseNc�P�ddlm}|dzdz
}d|z|_d|zdz
|_y)Nr)�
SIZEOF_TIME_Tr	rr)�	_testcapir��
time_t_min�
time_t_max)r!r��bitss   rr"zCPyTimeTestCase.setUps0��+��q� �1�$����9�*����t�)�a�-��rc�J�|j|cxkxr|jkScSr)r�r�)r!�secondss  r�
time_t_filterzCPyTimeTestCase.time_t_filter	s �����7�=�d�o�o�=�>�=�>rc
�$�	dtttg}|r|jd�d}dg}|D]"}|D]}||z}|j	||f���$dD]4}d|ztz}|j	|dz
||dz|dz
||dzf��6t
jt
jfD]}	|j|	tz��|r!dD]}d|z}|j	||f��d	tztz}|j	||f�|S)
Nrg����MbP?)rr���{i�i�r�rwrxryi��i?Bi�i�i�i�i�i�i�	i�
i�r)	rr�r���r�r���!r)rr�r�r�g@l)�US_TO_NS�MS_TO_NS�	SEC_TO_NSr2�extendr��INT_MIN�INT_MAX)
r!�	use_float�units�values�
ns_timestamps�unit�valuer7�pow2r�s
          r�_rounding_valuesz CPyTimeTestCase._rounding_valuess;��1��H�h�	�2����L�L���
��$��
��D����T�\���$�$�r�c�2�Y�/� ��7�D��t�)�y�(�B�� � ���A���s�R�C��E��1��b�"�Q�$�"�
�7�"�)�)�9�+<�+<�=�G�� � ��9�!4�5�>��&���d�U�^���$�$�r�c�2�Y�/�'�
��"�i�
/�����r�c�2�Y�'��rc�N�������fd�}|j��}||�}tD][\}	}
tj�5}|
|_|D],}||
d�}
	|||	�}||�}|j|
��.	ddd��]|jtz}||f}||�}tD]:\}	}|D]0}||	d�}
|jt|
��5|||	�ddd��2�<y#t
$r|j
d|
z�Y��wxYw#1swY��xYw#1swY�nxYw)Nc�����r%tt��z}|D�cgc]}||z��	}}nt�z}|D�cgc]}||z��	}}�rt�|�}tt	|��Scc}wcc}wr)r�rH�filter�sorted�set)r��
unit_to_nsr7r��unit_to_secr��value_filters    ���r�convert_valuesz7CPyTimeTestCase._check_rounding.<locals>.convert_valuesBs|����&��{�);�;�
�4A�B�M�b�"�z�/�M��B�&�+�5�
�5B�C�]�r�"�
�*�]��C����f�5���#�f�+�&�&��C��Ds
�A&�A+)r��roundingz!Error on timestamp conversion: %s)rg)r��ROUNDING_MODES�decimal�localcontextr��	Exceptionr�r^�OVERFLOW_SECONDSr�rpr�)r!�pytime_converter�
expected_funcr�r�r�r�r��valid_values�time_rnd�decimal_rnd�contextr��
debug_infor�r�r7�overflow_values�_s   ```             r�_check_roundingzCPyTimeTestCase._check_rounding?s@���	'��-�-�i�8�
�%�m�4��%3�!�H�k��%�%�'�7�#.�� �)�E�+0�k�!J�J�T�!1�%��!B��#0��#7���$�$�V�%-�%/�1�*�(�'�&4� �
"�
"�Y�
.����b�	�
�(��7��)�K�H�a�(��',�(�C�
��&�&�}�*�&�E�$�U�H�5�F�E�)�*��%�T��	�	�"E�
�"R�S�T��(�'��*F�E�s<�D�C,�(D�
D�,D	�	D�D	�D�D	�D$c�.�|j||d||�y)NF�r��r!r�r�r�r�s     r�check_int_roundingz"CPyTimeTestCase.check_int_roundingls�����-�}�"�K��	?rc�.�|j||d||�y)NTr�r�s     r�check_float_roundingz$CPyTimeTestCase.check_float_roundingqs�����-�}�!�;��	>rc�d�tj|�}|jd�}t|�S)Nr)r��Decimal�quantizer4)r!r�r�s   r�
decimal_roundzCPyTimeTestCase.decimal_roundvs&���O�O�A���
�J�J�q�M���1�v�
rr)rN)rrrr�r"r�r�r�r�r�r�rrrr�r��sD�����(�?�1�h>B�+6�\8<�?�:>�>�
rr�c�"�eZdZ	ejdez�Zd�Zd�Zd�Z	d�Z
d�Zejeed�d�d	��Zejeed
�d�d��Zejeed
�d�d��Zd�Zd�Zy)�TestCPyTimelc����ddlm�d�}|j�fd�d�|��tD]4\}}|j	t
�5�t
d��ddd��6y#1swY�AxYw)Nr)�PyTime_FromSecondsc�Z�tj|cxkxrtjkScSr)r�r�r���secss r�c_int_filterz2TestCPyTime.test_FromSeconds.<locals>.c_int_filter�s$���%�%��B��1B�1B�B�C�B�Crc����|�Srr)r��rndr�s  �rr�z.TestCPyTime.test_FromSeconds.<locals>.<lambda>�s���2D�T�2Jrc��|tzSr�r�r�s rr�z.TestCPyTime.test_FromSeconds.<locals>.<lambda>�s	��T�I�-=r�r�r+)r�r�r�r�rpr�rH)r!r�r�r�r�s    @r�test_FromSecondszTestCPyTime.test_FromSeconds�sc���0�	D�	
��� J� =�-9�	 �	;�
*�K�H�a��"�"�9�-�"�5��<�0�.�-�*�-�-�s�A!�!A*	c���ddlm}�j|d���j|�fd��tD]5\}}�jt�5|td�|�ddd��7y#1swY�BxYw)Nr)�PyTime_FromSecondsObjectc��|tzSrr�r�s rr�z4TestCPyTime.test_FromSecondsObject.<locals>.<lambda>�s	���	�)rc�4���j|tz�Sr)r�r�)r7r!s �rr�z4TestCPyTime.test_FromSecondsObject.<locals>.<lambda>�s���t�)�)�"�y�.�9rr+)r�r�r�r�r�rpr|rH)r!r�r�r�s`   r�test_FromSecondsObjectz"TestCPyTime.test_FromSecondsObject�sk���6����$�)�	+�	
�!�!�$�9�	;�
*�K�H�a��"�"�:�.�(��u��x�@�/�.�*�.�.�s�A/�/A8	c����ddlm�d�}|j�fd�|t�tD]4\}}|jt�5�td��ddd��6y#1swY�AxYw)Nr)�PyTime_AsSecondsDoublec�t�t|�tzdk(rt|tz�St|�tzS�Nr)�absr�rH�r7s r�float_converterz9TestCPyTime.test_AsSecondsDouble.<locals>.float_converter�s1���2�w��"�a�'��R�9�_�-�-��R�y�9�,�,rc����|�Srr)r7r�r�s  �rr�z2TestCPyTime.test_AsSecondsDouble.<locals>.<lambda>�s���0F�r�0Jrr+)r�r�r��	NS_TO_SECr�rpr�rH)r!r�r�r�r�s    @r�test_AsSecondsDoublez TestCPyTime.test_AsSecondsDouble�s]���4�	-�	
��� J� /� )�	+�
*�K�H�a��"�"�9�-�&�u�U�|�4�.�-�*�-�-�s�A#�#A,	c�@���tj|����fd�}|S)Nc�V��tj|��z}�j|�Sr)r�r�r�)r�r��denomr!s  ��r�	converterz7TestCPyTime.create_decimal_converter.<locals>.converter�s'�������&��.�A��%�%�a�(�(r)r�r�)r!�denominatorr�r�s`  @r�create_decimal_converterz$TestCPyTime.create_decimal_converter�s�������,��	)��rc������ddlm}|jt���fd�}tj
dk(rddlm�m���fd�}n|j}|j||t|��y)Nr)�PyTime_AsTimevalc�4���|�}t|t�Sr)�divmod�	SEC_TO_US)r7�us�us_converters  �r�timeval_converterz5TestCPyTime.test_AsTimeval.<locals>.timeval_converter�s����b�!�B��"�i�(�(r�win32��LONG_MIN�LONG_MAXc�$���|cxkxr�kScSrr)r�rr
s ��r�seconds_filterz2TestCPyTime.test_AsTimeval.<locals>.seconds_filter�s����4�3�8�3�3�3�3rr�)r�rr�r�r[rYr
rr�r�r�)r!rrr
rr
rs    @@@r�test_AsTimevalzTestCPyTime.test_AsTimeval�s]���.��4�4�X�>��	)��<�<�7�"�4�
4�"�/�/�N���� 0� 1� )�-;�	 �	=r�PyTime_AsTimespecz need _testcapi.PyTime_AsTimespecc�d��ddlm�d�}|j�fd�|t|j��y)Nr)rc�"�t|t�Sr)rr�r�s r�timespec_converterz7TestCPyTime.test_AsTimespec.<locals>.timespec_converter�s���"�i�(�(rc����|�Srr)r7r�rs  �rr�z-TestCPyTime.test_AsTimespec.<locals>.<lambda>�s���0A�"�0Err�)r�rr�r�r�)r!rrs  @r�test_AsTimespeczTestCPyTime.test_AsTimespec�s5���	0�	)�	
��� E� 2� )�-1�-?�-?�	 �	Ar�PyTime_AsTimeval_clampz%need _testcapi.PyTime_AsTimeval_clampc��ddlm}tjdk(r
ddlm}m}|}|}n|j}|j}ttfD]�}||tj�}tj�5}tj|_|jtj |�t"z�}	ddd�t%	t&�\}
}||
kr|}
d}n	|
|kr|}
d}|j)||
|f���y#1swY�FxYw)Nr)rrr	)r�rr[rYr
rr�r��_PyTime_MIN�_PyTime_MAXr
rr�r�r�r�r�r�rrr^)r!rr
r�
tv_sec_max�
tv_sec_minr�tsr�r�tv_sec�tv_usecs            r�test_AsTimeval_clampz TestCPyTime.test_AsTimeval_clamp�s���	5��<�<�7�"�4�!�J�!�J����J����J��{�+�A�'��7�+@�+@�A�B��%�%�'�7�#*�#8�#8�� ��'�'�����(:�X�(E�F��(�%�R��3�O�F�G��F�"�#�����*�$�#�������R�&�'�!2�3�,�'�'�s
�9AC?�?D	�PyTime_AsTimespec_clampz&need _testcapi.PyTime_AsTimespec_clampc��ddlm}ttfD]l}||�}t	|t
�\}}|j|kr|j}d}n||jkr|j}d}|j|||f��ny)Nr)r)	r�rrrrr�r�r�r^)r!rrrr�tv_nsecs      r�test_AsTimespec_clampz!TestCPyTime.test_AsTimespec_clamp�sy��	6��{�+�A�(��+�B�$�Q�	�2�O�F�G�����'��������$�/�/�)����������R�&�'�!2�3�,rc�d�ddlm}|j||jt�t
�y)Nr)�PyTime_AsMilliseconds)r�r$r�r�r�r�)r!r$s  r�test_AsMillisecondszTestCPyTime.test_AsMilliseconds
�'��3���� 5� $� =� =�h� G� )�	+rc�d�ddlm}|j||jt�t
�y)Nr)�PyTime_AsMicroseconds)r�r(r�r�r�r�)r!r(s  r�test_AsMicrosecondszTestCPyTime.test_AsMicrosecondsr&rN)rrr�math�ceilr�r�r�r�r�r�rr9r:rBr�rrr"r%r)rrrr�r�|s����!�t�y�y�)�y�!8�9��1� A� 5�$�=�.�X�����,?�@�;�=�	A�=�	A��X�����,D�E�@�B�4�B�4�2�X�����,E�F�A�C�4�C�4�+�+rr�c�*�eZdZ	dZd�Zd�Zd�Zd�Zy)�
TestOldPyTimelc��ddlm}|j|d�|j��|j	||j
|j��y)Nr)�pytime_object_to_time_tc��|Srrr�s rr�z5TestOldPyTime.test_object_to_time_t.<locals>.<lambda>(s��Trr�)r�r/r�r�r�r�)r!r/s  r�test_object_to_time_tz#TestOldPyTime.test_object_to_time_t$sS��5���� 7� 1�-1�-?�-?�	 �	A�	
�!�!�"9�"&�"4�"4�/3�/A�/A�	"�	Crc������fd�}|S)Nc����tj|�\}}t|�}|�z}�j|�}|dkr|�z
}|dz}||fS|�k\r
|�z}|dz
}||fS)Nrr)r*�modfr4r�)r��	floatpart�intpart�sec_to_unitr!s   ��rr�z1TestOldPyTime.create_converter.<locals>.converter0s����!%���4���I�w��'�l�G���$�I��*�*�9�5�I��1�}��[�(�	��1����Y�'�'��k�)��[�(�	��1����Y�'�'rr)r!r7r�s`` r�create_converterzTestOldPyTime.create_converter/s���	(��rc�D�ddlm}|j|d�|j��|j	||jt�|j��tD]5\}}|jt�5|td�|�ddd��7y#1swY�BxYw)Nr)�pytime_object_to_timevalc�
�|dfSr�rr�s rr�z6TestOldPyTime.test_object_to_timeval.<locals>.<lambda>B���d�A�Yrr�r+)r�r:r�r�r�r8rr�rpr|rH)r!r:r�r�s    r�test_object_to_timevalz$TestOldPyTime.test_object_to_timeval>s���6���� 8� 6�-1�-?�-?�	 �	A�	
�!�!�":�"&�"7�"7�	�"B�/3�/A�/A�	"�	C�
*�K�H�a��"�"�:�.�(��u��x�@�/�.�*�.�.���8B�B	c�D�ddlm}|j|d�|j��|j	||jt�|j��tD]5\}}|jt�5|td�|�ddd��7y#1swY�BxYw)Nr)�pytime_object_to_timespecc�
�|dfSr�rr�s rr�z7TestOldPyTime.test_object_to_timespec.<locals>.<lambda>Rr<rr�r+)r�r@r�r�r�r8r�r�rpr|rH)r!r@r�r�s    r�test_object_to_timespecz%TestOldPyTime.test_object_to_timespecNs���7���� 9� 6�-1�-?�-?�	 �	A�	
�!�!�";�"&�"7�"7�	�"B�/3�/A�/A�	"�	C�
*�K�H�a��"�"�:�.�)�%��,��A�/�.�*�.�.�r>N)rrrr�r1r8r=rBrrrr-r-s&���
��	C�
�A� Brr-�darwinztest weak linking on macOSc��eZdZd�Zy)�TestTimeWeaklinkingc��ddl}ddl}|j�}d}||vs||stj|�d���td�|j�djd�D��}gd�}|dk\r,|D]&}|jtt|�d|�d���(y|D]&}|jtt|�d|�d	���(y)
Nr�HAVE_CLOCK_GETTIMEz is not availablec3�2K�|]}t|����y�wr)r4)�.0r�s  r�	<genexpr>z;TestTimeWeaklinking.test_clock_functions.<locals>.<genexpr>ns����I�(H�1��A��(H�s��.)rKr;rErm�clock_settime_nsrf)r�r�ztime.z
 is available)�	sysconfigrY�get_config_varsr9�SkipTestr��mac_verrRr-rBrr+)r!rMrY�config_vars�var_namerP�clock_namesr0s        r�test_clock_functionsz(TestTimeWeaklinking.test_clock_functionses�����/�i�/�/�1��'���;�&�k�(�.C��#�#�x�j�0A�$B�C�C��I�(8��(8�(8�(:�1�(=�(C�(C�C�(H�I�I��0���h��#�������d� 3�u�T�F�BS�5T�U�$�$��� � ���t�!4��d�V�=�6Q�R�$rN)rrrrTrrrrErE^s��SrrE�__main__)4�testr�test.supportrr��enumrCr*rYr[rMrrVr9r��ImportErrorr�get_config_varrr�r�rr�r�r�r��IntEnumr
rrrrrrr��TestCaserr@rOr]rsr�r�r�r;r�r�r-r:rEr�mainrrr�<module>r^s`���(���
���
�������6�&�Y�
%�
%�l�
3�
8�q�
��Q��^�a�'�'�1�,���}�q� �4�'���	������	��	��d�l�l������

���'�-�-�.����G�1�1�2����g�5�5�6����w�'�'�(���TB�8�$�$�TB�n
4��"�"�
4� 	?�	?�.�.�b,�,�@	�(�+�x�7H�7H�	�	�*�K��9J�9J�	�8(��"�"�8(�v�����d�"�$?�@�|�|�A�|�~]+�/�8�#4�#4�]+�@@B�O�X�%6�%6�@B�D����S�\�\�X�-�/K�L�S�(�+�+�S�M�S�<�z���H�M�M�O���]#���I��s�H�H"�!H"

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