Current File : //usr/local/apps/python3/lib/python3.11/test/__pycache__/test_sched.cpython-311.opt-1.pyc
�

�Ke�����ddlZddlZddlZddlZddlZddlmZddlmZej	Z
Gd�d��ZGd�dej��Ze
dkrej��dSdS)	�N)�support)�threading_helperc�&�eZdZd�Zd�Zd�Zd�ZdS)�Timerc�R�tj��|_d|_d|_dS)Nr)�	threading�	Condition�_cond�_time�_stop��selfs �9/usr/local/apps/python3/lib/python3.11/test/test_sched.py�__init__zTimer.__init__s$���(�*�*��
���
���
�
�
�c�R�|j5|jcddd��S#1swxYwYdS�N)r
rr
s r�timez
Timer.timess��
�Z�	�	��:�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s�� � c���|j5||jz
}|j|kr0|j|_|j���|j|k�0||_ddd��dS#1swxYwYdSr)r
rr�wait�r�ts  r�sleepzTimer.sleeps���
�Z�	�	�
���O�A��*�q�.�.�!�Z��
��
���!�!�!��*�q�.�.��D�J�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s�A
A"�"A&�)A&c��|j5|xj|z
c_|j���ddd��dS#1swxYwYdSr)r
r�
notify_allrs  r�advancez
Timer.advance"s���
�Z�	$�	$��J�J�!�O�J�J��J�!�!�#�#�#�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$����	$�	$�	$�	$�	$�	$s�*?�A�AN)�__name__�
__module__�__qualname__rrrr�rrrr
sP���������
���
���$�$�$�$�$rrc��eZdZd�Zd�Zej��d���Zd�Zd�Z	ej��d���Z
d�Zd�Zd	�Z
d
�Zd�ZdS)
�TestCasec���g��fd�}tjtjtj��}dD]}|�|d||f��}�|���|��gd���dS)Nc�.����|��Sr��append��x�ls �r�<lambda>z%TestCase.test_enter.<locals>.<lambda>-����������r)��?皙�����?�333333�?皙�����?皙�����?�)r0r/r.r-r,��sched�	schedulerrr�enter�run�assertEqual�r�funr4r(�zr)s     @r�
test_enterzTestCase.test_enter+s������#�#�#�#���O�D�I�t�z�:�:�	�*�	1�	1�A�����1�c�A�4�0�0�A�A��
�
��������5�5�5�6�6�6�6�6rc���g��fd�}tjtjtj��}dD]}|�|d||f��}�|���|��gd���dS)Nc�.����|��Srr%r's �rr*z(TestCase.test_enterabs.<locals>.<lambda>6r+r�皙�����?�{�G�z�?���Q��?�{�G�z�?�{�G�z�?r1)rCrBrAr@r?)r3r4rr�enterabsr6r7r8s     @r�
test_enterabszTestCase.test_enterabs4s������#�#�#�#���O�D�I�t�z�:�:�	�/�	4�	4�A��"�"�1�a��q�d�3�3�A�A��
�
��������:�:�:�;�;�;�;�;rc�8�tj��}|j}t��}t	j|j|j��}|�dd|d��|�dd|d��tj
|j���}|���|�
d��|�|�t ���d��|�|�����dD]}|�|dz
d||f��}�|�
d��|�|�t ���d��|�|�t ���d��|�|�����|�
d��|�|�t ���d	��|�|�����|�
d��|�|�t ���d
��|�|�����|�
d��t'j|��|�|�����|�|���d
��dS)Nr1�r1��rH��target��timeout)���rPrNrO��)�queue�Queue�putrr3r4rrr5r�Threadr6�startrr7�get�TIMEOUT�
assertTrue�emptyr�join_thread)r�qr9�timerr4rr(r:s        r�test_enter_concurrentzTestCase.test_enter_concurrent=sw���K�M�M���e�������O�E�J���<�<�	�����1�c�4�(�(�(�����1�c�4�(�(�(���I�M�2�2�2��	���	�	�	�
�
�
�a����������w��/�/��3�3�3�������	�	�"�"�"��	5�	5�A�����A��q�#��t�4�4�A�A�
�
�
�a����������w��/�/��3�3�3�������w��/�/��3�3�3�������	�	�"�"�"�
�
�
�a����������w��/�/��3�3�3�������	�	�"�"�"�
�
�
�a����������w��/�/��3�3�3�������	�	�"�"�"�
�
�
�d�����$�Q�'�'�'�������	�	�"�"�"���������q�)�)�)�)�)rc	���g��fd�}tjtjtj��}gd�gd�fgd�gd�fgd�gd�fgd�gd�fg}|D]�\}}|�||���5|D]}|�d|||f���|���|��|��|�|�	������
��ddd��n#1swxYwY��dS)	Nc�.����|��Srr%r's �rr*z(TestCase.test_priority.<locals>.<lambda>]r+r)r1rPrHrNrO)rOrNrHrPr1)rPrOrHr1rN)r1rPrHrPr1)r1r1rPrPrH)�
priorities�expectedrC)r3r4rr�subTestrDr6r7rYrZ�clear)rr9r4�casesrarb�priorityr)s       @r�
test_priorityzTestCase.test_priority[s~�����#�#�#�#���O�D�I�t�z�:�:�	��_�_�o�o�o�.�
�_�_�o�o�o�.�
�_�_�o�o�o�.�
�_�_�o�o�o�.�	
��%*�		�		� �J������h��G�G�
�
� *�I�I�H��&�&�t�X�s�X�K�H�H�H�H��
�
����� � ��H�-�-�-����	��� 1� 1�2�2�2����	�	�	�
�
�
�
�
�
�
�
�
�
�
����
�
�
�
��		�		s�.BC>�>D	�D	c�H�	�g�	�	fd�}tjtjtj��}tj��}|�|dzd|d��}|�|dzd|d��}|�|dzd|d��}|�|d	zd|d
��}|�|dzd|d��}|�|��|�|��|���|��	gd
���dS)Nc�.����|��Srr%r's �rr*z&TestCase.test_cancel.<locals>.<lambda>sr+rrCr1)rCrB)rBrA)rAr@)r@r?)r?)rBrAr@)r3r4rrrD�cancelr6r7)
rr9r4�now�event1�event2�event3�event4�event5r)s
         @r�test_cancelzTestCase.test_cancelqs�����#�#�#�#���O�D�I�t�z�:�:�	��i�k�k���#�#�C�$�J��3��@�@���#�#�C�$�J��3��@�@���#�#�C�$�J��3��@�@���#�#�C�$�J��3��@�@���#�#�C�$�J��3��@�@������ � � ����� � � ��
�
��������.�.�.�/�/�/�/�/rc�d�tj��}|j}t��}t	j|j|j��}|���}|�|dzd|d��}|�|dzd|d��}|�|dzd|d��}|�|dzd|d��}	|�|d	zd|d
��}
tj
|j���}|���|�
d��|�|�t ���d��|�|�����|�|��|�|	��|�
d��|�|�����|�
d��|�|�t ���d	��|�|�����|�
d��|�|�t ���d��|�|�����|�
d
��t)j|��|�|�����|�|���d��dS)Nr1rGrP)rPrN)rNrO)rOrHrIrJrLrQ)rRrSrTrr3r4rrrDrrUr6rVrr7rWrXrYrZrjrr[)rr\r9r]r4rkrlrmrorprnrs            r�test_cancel_concurrentzTestCase.test_cancel_concurrent�s����K�M�M���e�������O�E�J���<�<�	��j�j�l�l���#�#�C�!�G�Q��T�:�:���#�#�C�!�G�Q��T�:�:���#�#�C�!�G�Q��T�:�:���#�#�C�!�G�Q��T�:�:���#�#�C�!�G�Q��T�:�:����I�M�2�2�2��	���	�	�	�
�
�
�a����������w��/�/��3�3�3�������	�	�"�"�"����� � � ����� � � �
�
�
�a����������	�	�"�"�"�
�
�
�a����������w��/�/��3�3�3�������	�	�"�"�"�
�
�
�a����������w��/�/��3�3�3�������	�	�"�"�"�
�
�
�d�����$�Q�'�'�'�������	�	�"�"�"���������q�)�)�)�)�)rc�`�g}tj��}|�dd|jd��|�dd|jd��}|�dd|jd��|�|��|���|�|ddg��dS)Nr1)�a)�b)�crurw)r3r4rDr&rjr6r7)r�eventsr4rvs    r�test_cancel_correct_eventz"TestCase.test_cancel_correct_event�s������O�%�%�	����1�a����7�7�7����q�!�V�]�F�;�;�����1�a����7�7�7���������
�
��������#�s��,�,�,�,�,rc���g��fd�}tjtjtj��}|�|�����dD]}|�|d||f��}�|�|�����|���|�|�����dS)Nc�.����|��Srr%r's �rr*z%TestCase.test_empty.<locals>.<lambda>�r+rr>r1)	r3r4rrrYrZrD�assertFalser6r8s     @r�
test_emptyzTestCase.test_empty�s������#�#�#�#���O�D�I�t�z�:�:�	����	���)�)�*�*�*�/�	4�	4�A��"�"�1�a��q�d�3�3�A�A�������*�*�+�+�+��
�
�������	���)�)�*�*�*�*�*rc���	�g�	�	fd�}tjtjtj��}tj��}|�|dzd|��}|�|dzd|��}|�|dzd|��}|�|dzd|��}|�|dzd|��}|�|j|||||g��dS)Nc�.����|��Srr%r's �rr*z%TestCase.test_queue.<locals>.<lambda>�r+rr?r1rCrBr@rA)r3r4rrrDr7rR)
rr9r4rk�e5�e1�e2�e4�e3r)s
         @r�
test_queuezTestCase.test_queue�s������#�#�#�#���O�D�I�t�z�:�:�	��i�k�k��
�
�
��d�
�A�s�
3�
3��
�
�
��d�
�A�s�
3�
3��
�
�
��d�
�A�s�
3�
3��
�
�
��d�
�A�s�
3�
3��
�
�
��d�
�A�s�
3�
3��	
�����2�r�2�r�2�*>�?�?�?�?�?rc	����g��fd�}tj��}tjtjtj��}|�|d|��|�|d|d���|�|d|d���|�|d|dddi���|���|��d	ifdifdifdddifg��dS)
Nc�6����||f��dSrr%)rurv�seqs  �rr9z&TestCase.test_args_kwargs.<locals>.fun�s����J�J��1�v�����rr1)r1rP)�argument)rurv�foorH)r��kwargsr )rr3r4rrDr6�assertCountEqual)rr9rkr4r�s    @r�test_args_kwargszTestCase.test_args_kwargs�s�����	�	�	�	�	��i�k�k���O�D�I�t�z�:�:�	����3��3�'�'�'����3��3���8�8�8����3��3���<�<�<����3��3����
��K�K�K��
�
�������c�
��H�
�R�L�
���
�e�Q�Z� �	$
�	�	�	�	�	rc���g��fd�}tjtjtj��}dD]}|�|d||f���|�d���|��g��dS)Nc�.����|��Srr%r's �rr*z0TestCase.test_run_non_blocking.<locals>.<lambda>�r+r)�
�	���r1F)�blockingr2)rr9r4r(r)s    @r�test_run_non_blockingzTestCase.test_run_non_blocking�s������#�#�#�#���O�D�I�t�z�:�:�	�!�	-�	-�A��O�O�A�q�#��t�,�,�,�,��
�
�u�
�%�%�%�����B�����rN)rrrr;rEr�requires_working_threadingr^rgrqrsryr}r�r�r�r rrr"r")s�������7�7�7�<�<�<�1��0�2�2�*�*�3�2�*�:���,
0�
0�
0�1��0�2�2�*�*�3�2�*�>	-�	-�	-�	+�	+�	+�@�@�@����& � � � � rr"�__main__)rRr3rr�unittest�testr�test.supportr�
SHORT_TIMEOUTrXrr"r�mainr rr�<module>r�s�����������������������������)�)�)�)�)�)��
��$�$�$�$�$�$�$�$�8u �u �u �u �u �x� �u �u �u �p�z����H�M�O�O�O�O�O��r