Your IP : 216.73.216.213


Current Path : /opt/alt/python311/lib64/python3.11/test/test_asyncio/__pycache__/
Upload File :
Current File : //opt/alt/python311/lib64/python3.11/test/test_asyncio/__pycache__/test_taskgroups.cpython-311.pyc

�

�0�i.\����ddlZddlZddlZddlmZddlZddlmZd�ZGd�de��Z	Gd�de
��Zd	�ZGd
�dej
��Zedkrej��dSdS)
�N)�
taskgroups)�await_without_taskc�.�tjd��dS�N)�asyncio�set_event_loop_policy���H/opt/alt/python311/lib64/python3.11/test/test_asyncio/test_taskgroups.py�tearDownModulers���!�$�'�'�'�'�'r
c��eZdZdS)�MyExcN��__name__�
__module__�__qualname__r	r
rrr��������Dr
rc��eZdZdS)�	MyBaseExcNrr	r
rrrrr
rc�$�d�|jD��S)Nc�,�h|]}t|����Sr	)�type)�.0�excs  r�	<setcomp>z"get_error_types.<locals>.<setcomp>s��/�/�/�#�D��I�I�/�/�/r
)�
exceptions)�egs r�get_error_typesrs��/�/���/�/�/�/r
c���eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z d�Z!d �Z"d!�Z#d"�Z$d#�Z%d$�Z&d%S)&�
TestTaskGroupc��K�d�}d�}tj��4�d{V��}|�|����}|�|����}ddd���d{V��n#1�d{V��swxYwY|�|���d��|�|���d��dS)Nc��>K�tjd���d{V��dS�N皙�����?�*�r�sleepr	r
r�foo1z-TestTaskGroup.test_taskgroup_01.<locals>.foo1#�-�����-��$�$�$�$�$�$�$�$�$��2r
c��>K�tjd���d{V��dS�N皙�����?�r&r	r
r�foo2z-TestTaskGroup.test_taskgroup_01.<locals>.foo2'r)r
r%r-)r�	TaskGroup�create_task�assertEqual�result��selfr(r.�g�t1�t2s      r�test_taskgroup_01zTestTaskGroup.test_taskgroup_01!sS����	�	�	�	�	�	��'�)�)�	'�	'�	'�	'�	'�	'�	'�Q����t�t�v�v�&�&�B����t�t�v�v�&�&�B�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'����	'�	'�	'�	'�	
��������b�)�)�)���������b�)�)�)�)�)s�;A/�/
A9�<A9c���K�d�}d�}tj��4�d{V��}|�|����}tjd���d{V��|�|����}ddd���d{V��n#1�d{V��swxYwY|�|���d��|�|���d��dS)Nc��>K�tjd���d{V��dSr#r&r	r
rr(z-TestTaskGroup.test_taskgroup_02.<locals>.foo14r)r
c��>K�tjd���d{V��dSr+r&r	r
rr.z-TestTaskGroup.test_taskgroup_02.<locals>.foo28r)r
�333333�?r%r-)rr/r0rr'r1r2r3s      r�test_taskgroup_02zTestTaskGroup.test_taskgroup_022su����	�	�	�	�	�	��'�)�)�	'�	'�	'�	'�	'�	'�	'�Q����t�t�v�v�&�&�B��-��%�%�%�%�%�%�%�%�%����t�t�v�v�&�&�B�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'����	'�	'�	'�	'�
	
��������b�)�)�)���������b�)�)�)�)�)s�AB	�	
B�Bc��K�d�}d�}tj��4�d{V��}|�|����}tjd���d{V��|���|�|����}ddd���d{V��n#1�d{V��swxYwY|�|�����|�|�	��d��dS)Nc��>K�tjd���d{V��dS�N�r%r&r	r
rr(z-TestTaskGroup.test_taskgroup_03.<locals>.foo1F�-�����-��"�"�"�"�"�"�"�"�"��2r
c��>K�tjd���d{V��dSr+r&r	r
rr.z-TestTaskGroup.test_taskgroup_03.<locals>.foo2Jr)r
r<r-)
rr/r0rr'�cancel�
assertTrue�	cancelledr1r2r3s      r�test_taskgroup_03zTestTaskGroup.test_taskgroup_03Ds�����	�	�	�	�	�	��'�)�)�	'�	'�	'�	'�	'�	'�	'�Q����t�t�v�v�&�&�B��-��%�%�%�%�%�%�%�%�%�
�I�I�K�K�K����t�t�v�v�&�&�B�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'����	'�	'�	'�	'�	
��������'�'�'���������b�)�)�)�)�)s�A)B�
B'�*B'c��������K�d�d�d�d����fd������fd�}|�t��5}tj|�����d{V��ddd��n#1swxYwY|�t|j��th��|��d��|����|���	����dS)NrFc��HK�tjd���d{V��ddzdS�Nr$rArr&r	r
rr(z-TestTaskGroup.test_taskgroup_04.<locals>.foo1`�5�����-��$�$�$�$�$�$�$�$�$�
��E�E�E�Er
c��z�K�	tjd���d{V��n#tj$rd��wxYw�dz
�dS)NrAT�rr'�CancelledError��NUM�	t2_cancels��rr.z-TestTaskGroup.test_taskgroup_04.<locals>.foo2d�f�����
��m�A�&�&�&�&�&�&�&�&�&�&���)�
�
�
� �	��
����
�1�H�C�C�C�� �3c���K�tj��4�d{V��}|������|�������ddd���d{V��n#1�d{V��swxYwY�dz
�dS�N�
�rr/r0)r5rPr(r.r7s ����r�runnerz/TestTaskGroup.test_taskgroup_04.<locals>.runnerms�����"�+�-�-�
+�
+�
+�
+�
+�
+�
+���
�
�d�d�f�f�%�%�%��]�]�4�4�6�6�*�*��
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+�
+����
+�
+�
+�
+�
�2�I�C�C�Cs�;A*�*
A4�7A4)
�assertRaises�ExceptionGrouprr0r1r�	exception�ZeroDivisionErrorrErF)r4rX�cmrPr(r.r7rQs   @@@@@r�test_taskgroup_04zTestTaskGroup.test_taskgroup_04Zsn������������	�
��	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	��
�
�~�
.�
.�	0�"��%�f�f�h�h�/�/�/�/�/�/�/�/�/�	0�	0�	0�	0�	0�	0�	0�	0�	0�	0�	0����	0�	0�	0�	0�	
������6�6�9J�8K�L�L�L�����a� � � ����	�"�"�"���������'�'�'�'�'��#A(�(A,�/A,c��������K�d�d�d�d����fd������fd�}|�t��5}tj|�����d{V��ddd��n#1swxYwY|�t|j��th��|��d��|����|����dS)NrFc��HK�tjd���d{V��ddzdSrJr&r	r
rr(z?TestTaskGroup.test_cancel_children_on_child_error.<locals>.foo1�rKr
c��z�K�	tjd���d{V��n#tj$rd��wxYw�dz
�dS)N�TrArMrOs��rr.z?TestTaskGroup.test_cancel_children_on_child_error.<locals>.foo2�rRrSc����K�tj��4�d{V��}|������|������|������|������	tjd���d{V��n#tj$rd��wxYw	ddd���d{V��n#1�d{V��swxYwY�dz
�dS)NrVT�rr/r0rr'rN)r5rPr(r.�
runner_cancels ����rrXzATestTaskGroup.test_cancel_children_on_child_error.<locals>.runner�s������"�+�-�-�	
�	
�	
�	
�	
�	
�	
���
�
�d�d�f�f�%�%�%��
�
�d�d�f�f�%�%�%��
�
�d�d�f�f�%�%�%��
�
�d�d�f�f�%�%�%��!�-��+�+�+�+�+�+�+�+�+�+���-����$(�M������,�
	
�	
�	
�	
�	
�	
�	
�	
�	
�	
�	
�	
�	
�	
�	
�	
�	
�	
�	
�	
�	
�	
�	
����	
�	
�	
�	
�
�2�I�C�C�Cs*�A5C�B.�-C�.C�C�
C!�$C!)	rYrZrr0r1rr[r\rE)r4rXr]rPr(r.rfrQs   @@@@@r�#test_cancel_children_on_child_errorz1TestTaskGroup.test_cancel_children_on_child_errorsh������������	��
�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�$�
�
�~�
.�
.�	0�"��%�f�f�h�h�/�/�/�/�/�/�/�/�/�	0�	0�	0�	0�	0�	0�	0�	0�	0�	0�	0����	0�	0�	0�	0�	
������6�6�9J�8K�L�L�L�����a� � � ����	�"�"�"����
�&�&�&�&�&r_c����K�d��fd���fd�}tj|����}tjd���d{V��|�|�����|���|�tj��5}|�d{V��ddd��n#1swxYwY|��d��dS)Nrc��t�K�	tjd���d{V��dS#tj$r�dz
��wxYw�NrcrArM�rPs�r�fooz,TestTaskGroup.test_cancellation.<locals>.foo��^�����
��m�A�&�&�&�&�&�&�&�&�&�&�&���)�
�
�
��q����
�����!�7c����K�tj��4�d{V��}td��D]}|������� 	ddd���d{V��dS#1�d{V��swxYwYdS)Nrc)rr/�ranger0�r5�_rls  �rrXz/TestTaskGroup.test_cancellation.<locals>.runner�s�����!�+�-�-�
)�
)�
)�
)�
)�
)�
)���q���)�)�A��M�M�#�#�%�%�(�(�(�(�)�
)�
)�
)�
)�
)�
)�
)�
)�
)�
)�
)�
)�
)�
)�
)�
)�
)�
)�
)�
)�
)�
)�
)�
)����
)�
)�
)�
)�
)�
)s�0A!�!
A+�.A+r$rc�	rr0r'�assertFalse�donerDrYrNr1)r4rX�rr]rPrls    @@r�test_cancellationzTestTaskGroup.test_cancellation�s:��������	�	�	�	�	�	)�	)�	)�	)�	)�

������)�)���m�C� � � � � � � � � ���������"�"�"�	���
�
�
�
�
�
�w�5�
6�
6�	�"��G�G�G�G�G�G�G�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	
����a� � � � � s�!	B6�6B:�=B:c����K�d��fd����fd�}tj|����}tjd���d{V��|�|�����|���|�tj��5|�d{V��ddd��n#1swxYwY|��d��dS)Nrc��t�K�	tjd���d{V��dS#tj$r�dz
��wxYwrjrMrks�rrlz,TestTaskGroup.test_taskgroup_07.<locals>.foo�rmrnc��R�K�tj��4�d{V��}td��D]}|������� 	t	jd���d{V��n#tj$r�dz
��wxYw	ddd���d{V��dS#1�d{V��swxYwYdS�NrcrV)rr/rpr0rr'rN)r5rrrPrls  ��rrXz/TestTaskGroup.test_taskgroup_07.<locals>.runner�sZ�����!�+�-�-�
�
�
�
�
�
�
���q���)�)�A��M�M�#�#�%�%�(�(�(�(��!�-��+�+�+�+�+�+�+�+�+�+���-�����2�I�C������,�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
����
�
�
�
�
�
s)�0B�A)�(B�)A?�?B�
B �#B r$�rs)r4rXrvrPrls   @@r�test_taskgroup_07zTestTaskGroup.test_taskgroup_07�sB��������	�	�	�	�	�
	�
	�
	�
	�
	�
	�
������)�)���m�C� � � � � � � � � ���������"�"�"�	���
�
�
�
�
�
�w�5�
6�
6�	�	��G�G�G�G�G�G�G�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	
����b�!�!�!�!�!s�"	B7�7B;�>B;c����K�d���fd�}tj|����}tjd���d{V��|�|�����|���|�t��5}|�d{V��ddd��n#1swxYwY|�t|j
��th��dS)Nc��^K�	tjd���d{V��ddzdS#ddzwxYw�NrVrArr&r	r
rrlz,TestTaskGroup.test_taskgroup_08.<locals>.foo��H����
��m�B�'�'�'�'�'�'�'�'�'��A�������A��������%�,c���K�tj��4�d{V��}td��D]}|������� t	jd���d{V��ddd���d{V��dS#1�d{V��swxYwYdSr{�rr/rpr0rr'rqs  �rrXz/TestTaskGroup.test_taskgroup_08.<locals>.runner�s#�����!�+�-�-�
(�
(�
(�
(�
(�
(�
(���q���)�)�A��M�M�#�#�%�%�(�(�(�(��m�B�'�'�'�'�'�'�'�'�'�	
(�
(�
(�
(�
(�
(�
(�
(�
(�
(�
(�
(�
(�
(�
(�
(�
(�
(�
(�
(�
(�
(�
(�
(����
(�
(�
(�
(�
(�
(s�A
A:�:
B�Br$�rr0r'rtrurDrYrZr1rr[r\�r4rXrvr]rls    @r�test_taskgroup_08zTestTaskGroup.test_taskgroup_08�s3�����	�	�	�	(�	(�	(�	(�	(�
������)�)���m�C� � � � � � � � � ���������"�"�"�	���
�
�
�
�
�
�~�
.�
.�	�"��G�G�G�G�G�G�G�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�������6�6�9J�8K�L�L�L�L�L��	B,�,B0�3B0c������K�dx��d��d������fd�}	|���d{V��|�d��n@#t$r3}|�t|��th��Yd}~nd}~wwxYw|�������|�������dS)Nc��>K�tjd���d{V��dSr@r&r	r
rr(z-TestTaskGroup.test_taskgroup_09.<locals>.foo1rBr
c��>K�tjd���d{V��dS�N�r-r&r	r
rr.z-TestTaskGroup.test_taskgroup_09.<locals>.foo2rBr
c��:�K�tj��4�d{V��}|�������|�������tjd���d{V��ddzddd���d{V��dS#1�d{V��swxYwYdSrJ)rr/r0rr'�r5r(r.r6r7s ����rrXz/TestTaskGroup.test_taskgroup_09.<locals>.runners*�����!�+�-�-�
�
�
�
�
�
�
���]�]�4�4�6�6�*�*���]�]�4�4�6�6�*�*���m�C�(�(�(�(�(�(�(�(�(��A���	
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
����
�
�
�
�
�
s�AB
�

B�B�ExceptionGroup was not raised��failrZr1rr\rErF�r4rX�tr(r.r6r7s   @@@@r�test_taskgroup_09zTestTaskGroup.test_taskgroup_09s�����������R�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	7��&�(�(�N�N�N�N�N�N�N�
�I�I�5�6�6�6�6���	F�	F�	F����_�Q�/�/�2C�1D�E�E�E�E�E�E�E�E�����	F����
	
��������'�'�'���������'�'�'�'�'��A�
A=�
)A8�8A=c������K�dx��d��d������fd�}	|���d{V��|�d��n@#t$r3}|�t|��th��Yd}~nd}~wwxYw|�������|�������dS)Nc��>K�tjd���d{V��dSr@r&r	r
rr(z-TestTaskGroup.test_taskgroup_10.<locals>.foo1%rBr
c��>K�tjd���d{V��dSr�r&r	r
rr.z-TestTaskGroup.test_taskgroup_10.<locals>.foo2)rBr
c���K�tj��4�d{V��}|�������|�������ddzddd���d{V��dS#1�d{V��swxYwYdS)NrArrWr�s ����rrXz/TestTaskGroup.test_taskgroup_10.<locals>.runner-s�����!�+�-�-�
�
�
�
�
�
�
���]�]�4�4�6�6�*�*���]�]�4�4�6�6�*�*���A���
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
����
�
�
�
�
�
s�AA0�0
A:�=A:r�r�r�s   @@@@r�test_taskgroup_10zTestTaskGroup.test_taskgroup_10!s�����������R�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	7��&�(�(�N�N�N�N�N�N�N�
�I�I�5�6�6�6�6���	F�	F�	F����_�Q�/�/�2C�1D�E�E�E�E�E�E�E�E�����	F����
	
��������'�'�'���������'�'�'�'�'r�c��@�K�d���fd�}tj|����}tjd���d{V��|�|�����|���|�t��5}|�d{V��ddd��n#1swxYwY|�t|j
��th��|�t|j
jd��th��dS)Nc��^K�	tjd���d{V��ddzdS#ddzwxYwr�r&r	r
rrlz,TestTaskGroup.test_taskgroup_11.<locals>.foo@r�r�c���K�tj��4�d{V��tj��4�d{V��}td��D]}|������� t	jd���d{V��ddd���d{V��n#1�d{V��swxYwYddd���d{V��dS#1�d{V��swxYwYdSr{r�)�g2rrrls  �rrXz/TestTaskGroup.test_taskgroup_11.<locals>.runnerFs������!�+�-�-�
,�
,�
,�
,�
,�
,�
,�
,�%�/�1�1�,�,�,�,�,�,�,�R�"�1�X�X�.�.�����s�s�u�u�-�-�-�-�!�-��+�+�+�+�+�+�+�+�+�	,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,����,�,�,�,�
,�
,�
,�
,�
,�
,�
,�
,�
,�
,�
,�
,�
,�
,�
,�
,�
,�
,�
,�
,�
,�
,�
,�
,����
,�
,�
,�
,�
,�
,s5�B7�A
B�B7�
B	�B7� B	�!B7�7
C�Cr$r�
rr0r'rtrurDrYrZr1rr[rr\r�s    @r�test_taskgroup_11zTestTaskGroup.test_taskgroup_11>s`�����	�	�	�	,�	,�	,�	,�	,�
������)�)���m�C� � � � � � � � � ���������"�"�"�	���
�
�
�
�
�
�~�
.�
.�	�"��G�G�G�G�G�G�G�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	
������6�6��8H�I�I�I�������)@��)C�D�D�GX�FY�Z�Z�Z�Z�Zr�c��@�K�d���fd�}tj|����}tjd���d{V��|�|�����|���|�t��5}|�d{V��ddd��n#1swxYwY|�t|j
��th��|�t|j
jd��th��dS)Nc��^K�	tjd���d{V��ddzdS#ddzwxYwr�r&r	r
rrlz,TestTaskGroup.test_taskgroup_12.<locals>.foo[r�r�c����K�tj��4�d{V��}|�tjd����tj��4�d{V��}td��D]}|������� tjd���d{V��ddd���d{V��n#1�d{V��swxYwYddd���d{V��dS#1�d{V��swxYwYdS)NrVrc)rr/r0rr'rp)�g1r�rrrls   �rrXz/TestTaskGroup.test_taskgroup_12.<locals>.runneras������!�+�-�-�
,�
,�
,�
,�
,�
,�
,�����w�}�R�0�0�1�1�1�%�/�1�1�,�,�,�,�,�,�,�R�"�1�X�X�.�.�����s�s�u�u�-�-�-�-�!�-��+�+�+�+�+�+�+�+�+�	,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,����,�,�,�,�
,�
,�
,�
,�
,�
,�
,�
,�
,�
,�
,�
,�
,�
,�
,�
,�
,�
,�
,�
,�
,�
,�
,�
,����
,�
,�
,�
,�
,�
,s7�AC�A
B:�(C�:
C	�C�C	�C�
C(�+C(r$rr�r�s    @r�test_taskgroup_12zTestTaskGroup.test_taskgroup_12Ys`�����	�	�	�	,�	,�	,�	,�	,�
������)�)���m�C� � � � � � � � � ���������"�"�"�	���
�
�
�
�
�
�~�
.�
.�	�"��G�G�G�G�G�G�G�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	
������6�6��8H�I�I�I�������)@��)C�D�D�GX�FY�Z�Z�Z�Z�Zr�c��$�K�d���fd�}tj|����}|�t��5}|�d{V��ddd��n#1swxYwY|�t|j��th��dS)Nc��XK�tj|���d{V��t|���r�rr'�
ValueError�r�s r�crash_afterz4TestTaskGroup.test_taskgroup_13.<locals>.crash_afterx�4�����-��"�"�"�"�"�"�"�"�"��Q�-�-�r
c��z�K�tj��4�d{V��}|��d����tj��4�d{V��}|��d����ddd���d{V��n#1�d{V��swxYwYddd���d{V��dS#1�d{V��swxYwYdS)Nr$rVrW�r�r�r�s  �rrXz/TestTaskGroup.test_taskgroup_13.<locals>.runner|s������!�+�-�-�
4�
4�
4�
4�
4�
4�
4�����{�{�3�/�/�0�0�0�%�/�1�1�4�4�4�4�4�4�4�R��N�N�;�;�r�?�?�3�3�3�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4����4�4�4�4�
4�
4�
4�
4�
4�
4�
4�
4�
4�
4�
4�
4�
4�
4�
4�
4�
4�
4�
4�
4�
4�
4�
4�
4����
4�
4�
4�
4�
4�
4�5�8B*�B�4B*�
B	�B*�B	�B*�*
B4�7B4)rr0rYrZr1rr[r��r4rXrvr]r�s    @r�test_taskgroup_13zTestTaskGroup.test_taskgroup_13vs������	 �	 �	 �	4�	4�	4�	4�	4�
������)�)��
�
�
�~�
.�
.�	�"��G�G�G�G�G�G�G�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	
������6�6���E�E�E�E�E��	A�A�Ac���K�d���fd�}tj|����}|�t��5}|�d{V��ddd��n#1swxYwY|�t|j��th��|�t|jjd��th��dS)Nc��XK�tj|���d{V��t|���rr�r�s rr�z4TestTaskGroup.test_taskgroup_14.<locals>.crash_after�r�r
c��z�K�tj��4�d{V��}|��d����tj��4�d{V��}|��d����ddd���d{V��n#1�d{V��swxYwYddd���d{V��dS#1�d{V��swxYwYdS)NrVr$rWr�s  �rrXz/TestTaskGroup.test_taskgroup_14.<locals>.runner�s������!�+�-�-�
5�
5�
5�
5�
5�
5�
5�����{�{�2���/�/�/�%�/�1�1�5�5�5�5�5�5�5�R��N�N�;�;�s�#3�#3�4�4�4�5�5�5�5�5�5�5�5�5�5�5�5�5�5�5�5�5�5�5�5�5�5�5����5�5�5�5�
5�
5�
5�
5�
5�
5�
5�
5�
5�
5�
5�
5�
5�
5�
5�
5�
5�
5�
5�
5�
5�
5�
5�
5����
5�
5�
5�
5�
5�
5r�r)	rr0rYrZr1rr[rr�r�s    @r�test_taskgroup_14zTestTaskGroup.test_taskgroup_14�s�����	 �	 �	 �	5�	5�	5�	5�	5�
������)�)��
�
�
�~�
.�
.�	�"��G�G�G�G�G�G�G�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	
������6�6��8H�I�I�I�������)@��)C�D�D�z�l�S�S�S�S�Sr�c����K�d���fd�}tj|����}tjd���d{V��|�|�����|���|�t��5}|�d{V��ddd��n#1swxYwY|�t|j
��th��dS)Nc��HK�tjd���d{V��ddzdS�N�333333�?rArr&r	r
r�
crash_soonz3TestTaskGroup.test_taskgroup_15.<locals>.crash_soon�rKr
c��X�K�tj��4�d{V��}|������	tjd���d{V��n.#tj$rtjd���d{V���wxYw	ddd���d{V��dS#1�d{V��swxYwYdS�NrVg�?re�r�r�s �rrXz/TestTaskGroup.test_taskgroup_15.<locals>.runner��[�����!�+�-�-�
�
�
�
�
�
�
�����z�z�|�|�,�,�,��!�-��+�+�+�+�+�+�+�+�+�+���-����!�-��,�,�,�,�,�,�,�,�,������,�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
����
�
�
�
�
�
�(�B�A�B�+B�B�
B#�&B#r$r�)r4rXrvr]r�s    @r�test_taskgroup_15zTestTaskGroup.test_taskgroup_15�s3�����	�	�	�	�	�	�	�	�
������)�)���m�C� � � � � � � � � ���������"�"�"�	���
�
�
�
�
�
�~�
.�
.�	�"��G�G�G�G�G�G�G�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�������6�6�9J�8K�L�L�L�L�Lr�c�����K�d���fd���fd�}tj|����}tjd���d{V��|�|�����|���|�t��5}|�d{V��ddd��n#1swxYwY|�t|j
��th��dS)Nc��HK�tjd���d{V��ddzdSr�r&r	r
rr�z3TestTaskGroup.test_taskgroup_16.<locals>.crash_soon�rKr
c��X�K�tj��4�d{V��}|������	tjd���d{V��n.#tj$rtjd���d{V���wxYw	ddd���d{V��dS#1�d{V��swxYwYdSr�rer�s �r�
nested_runnerz6TestTaskGroup.test_taskgroup_16.<locals>.nested_runner�r�r�c��T�K�tj�����}|�d{V��dSr)rr0)r�r�s �rrXz/TestTaskGroup.test_taskgroup_16.<locals>.runner�s2������#�M�M�O�O�4�4�A��G�G�G�G�G�G�G�G�Gr
r$r�)r4rXrvr]r�r�s    @@r�test_taskgroup_16zTestTaskGroup.test_taskgroup_16�sM������	�	�	�	�	�	�	�	�	�	�	�	�	�
������)�)���m�C� � � � � � � � � ���������"�"�"�	���
�
�
�
�
�
�~�
.�
.�	�"��G�G�G�G�G�G�G�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�������6�6�9J�8K�L�L�L�L�Ls�	B2�2B6�9B6c���K�d��fd�}tj|����}tjd���d{V��|�|�����|���|�tj��5|�d{V��ddd��n#1swxYwY|��d��dS)Nrc����K�tj��4�d{V��	tjd���d{V��n#tj$r�dz
��wxYw	ddd���d{V��dS#1�d{V��swxYwYdSrU)rr/rr'rNrks�rrXz/TestTaskGroup.test_taskgroup_17.<locals>.runner�s-�����!�+�-�-�
�
�
�
�
�
�
�
��!�-��+�+�+�+�+�+�+�+�+�+���-�����2�I�C������,�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
����
�
�
�
�
�
s%�A'�:�A'�A�A'�'
A1�4A1r$rVrs)r4rXrvrPs   @r�test_taskgroup_17zTestTaskGroup.test_taskgroup_17�s#�������	�	�	�	�	�
������)�)���m�C� � � � � � � � � ���������"�"�"�	���
�
�
�
�
�
�w�5�
6�
6�	�	��G�G�G�G�G�G�G�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	
����b�!�!�!�!�!s�	B0�0B4�7B4c����K�d��fd�}tj|����}tjd���d{V��|�|�����|���	|�d{V��|�d��n@#t$r3}|�t|��th��Yd}~nd}~wwxYw|��d��dS)Nrc���K�tj��4�d{V��	tjd���d{V��n#tj$r
�dz
�t
�wxYw	ddd���d{V��dS#1�d{V��swxYwYdSrU)rr/rr'rNrrks�rrXz/TestTaskGroup.test_taskgroup_18.<locals>.runner�s1�����!�+�-�-�
 �
 �
 �
 �
 �
 �
 �
 � �!�-��+�+�+�+�+�+�+�+�+�+���-� � � ��2�I�C� �K�	 ����,�
 �
 �
 �
 �
 �
 �
 �
 �
 �
 �
 �
 �
 �
 �
 �
 �
 �
 �
 �
 �
 �
 �
 �
 ����
 �
 �
 �
 �
 �
 s%�A-�:�A-�A�A-�-
A7�:A7r$r�rV)rr0r'rtrurDr�rZr1rr)r4rXrvr�rPs    @r�test_taskgroup_18zTestTaskGroup.test_taskgroup_18�s$�������		 �		 �		 �		 �		 �
������)�)���m�C� � � � � � � � � ���������"�"�"�	���
�
�
�	7��G�G�G�G�G�G�G�
�I�I�5�6�6�6�6���	9�	9�	9����_�Q�/�/���8�8�8�8�8�8�8�8�����	9����
	
����b�!�!�!�!�!s�=B�
C�%)C�Cc��(��K�d��d����fd�}tj|����}	|�d{V��|�d��dS#t$r:}|�t|��tth��Yd}~dSd}~wwxYw)Nc��HK�tjd���d{V��ddzdSrJr&r	r
rr�z3TestTaskGroup.test_taskgroup_19.<locals>.crash_soonrKr
c��`K�	tjd���d{V��t�#t�xYwrU)rr'rr	r
r�nestedz/TestTaskGroup.test_taskgroup_19.<locals>.nested	s=����
��m�B�'�'�'�'�'�'�'�'�'����e������%�-c����K�tj��4�d{V��}|����������d{V��ddd���d{V��dS#1�d{V��swxYwYdSrrW�r5r�r�s ��rrXz/TestTaskGroup.test_taskgroup_19.<locals>.runner������!�+�-�-�
�
�
�
�
�
�
���
�
�j�j�l�l�+�+�+��f�h�h��������
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
����
�
�
�
�
�
��.A�
A(�+A(zTasgGroupError was not raised)rr0r�rZr1rrr\)r4rXrvr�r�r�s    @@r�test_taskgroup_19zTestTaskGroup.test_taskgroup_19s�������	�	�	�	�	�	�	�	�	�	�	�	�

������)�)��	7��G�G�G�G�G�G�G�
�I�I�5�6�6�6�6�6���	M�	M�	M����_�Q�/�/�%�9J�1K�L�L�L�L�L�L�L�L�L�����	M���s�A
�
B�/B�Bc����K�d��d����fd�}|�t��5|���d{V��ddd��dS#1swxYwYdS)Nc��HK�tjd���d{V��ddzdSrJr&r	r
rr�z3TestTaskGroup.test_taskgroup_20.<locals>.crash_soonrKr
c��`K�	tjd���d{V��t�#t�xYwrU�rr'�KeyboardInterruptr	r
rr�z/TestTaskGroup.test_taskgroup_20.<locals>.nested!sC����
(��m�B�'�'�'�'�'�'�'�'�'�'�'��'�'�'�'�'r�c����K�tj��4�d{V��}|����������d{V��ddd���d{V��dS#1�d{V��swxYwYdSrrWr�s ��rrXz/TestTaskGroup.test_taskgroup_20.<locals>.runner'r�r��rYr��r4rXr�r�s  @@r�test_taskgroup_20zTestTaskGroup.test_taskgroup_20s�������	�	�	�	(�	(�	(�	�	�	�	�	�	�
�
�
�0�
1�
1�	�	��&�(�(�N�N�N�N�N�N�N�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	��A	�	A
�A
c����K�d��d����fd�}|�t��5}|���d{V��ddd��n#1swxYwY|�t|j��t
th��dS)Nc��HK�tjd���d{V��ddzdSrJr&r	r
rr�z4TestTaskGroup.test_taskgroup_20a.<locals>.crash_soon0rKr
c��`K�	tjd���d{V��t�#t�xYwrU�rr'rr	r
rr�z0TestTaskGroup.test_taskgroup_20a.<locals>.nested4�=����
 ��m�B�'�'�'�'�'�'�'�'�'����i����r�c����K�tj��4�d{V��}|����������d{V��ddd���d{V��dS#1�d{V��swxYwYdSrrWr�s ��rrXz0TestTaskGroup.test_taskgroup_20a.<locals>.runner:r�r�)rY�BaseExceptionGroupr1rr[rr\�r4rXr]r�r�s   @@r�test_taskgroup_20az TestTaskGroup.test_taskgroup_20a/s�������	�	�	�	 �	 �	 �	�	�	�	�	�	�
�
�
�1�
2�
2�	�b��&�(�(�N�N�N�N�N�N�N�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	
����B�L�)�)�I�7H�+I�	
�	
�	
�	
�	
��A�A�Ac����K�d��d����fd�}|�t��5|���d{V��ddd��dS#1swxYwYdS)Nc��HK�tjd���d{V��t��Nr$r�r	r
rr�z4TestTaskGroup._test_taskgroup_21.<locals>.crash_soonNs.�����-��$�$�$�$�$�$�$�$�$�#�#r
c��`K�	tjd���d{V��t�#t�xYwrU�rr'�	TypeErrorr	r
rr�z0TestTaskGroup._test_taskgroup_21.<locals>.nestedRr�r�c����K�tj��4�d{V��}|����������d{V��ddd���d{V��dS#1�d{V��swxYwYdSrrWr�s ��rrXz0TestTaskGroup._test_taskgroup_21.<locals>.runnerXr�r�r�r�s  @@r�_test_taskgroup_21z TestTaskGroup._test_taskgroup_21Fs�������	$�	$�	$�	 �	 �	 �	�	�	�	�	�	�
�
�
�0�
1�
1�	�	��&�(�(�N�N�N�N�N�N�N�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	r�c����K�d��d����fd�}|�t��5}|���d{V��ddd��n#1swxYwY|�t|j��t
th��dS)Nc��HK�tjd���d{V��t�r�r�r	r
rr�z4TestTaskGroup.test_taskgroup_21a.<locals>.crash_soonbs-�����-��$�$�$�$�$�$�$�$�$��Or
c��`K�	tjd���d{V��t�#t�xYwrUr�r	r
rr�z0TestTaskGroup.test_taskgroup_21a.<locals>.nestedfr�r�c����K�tj��4�d{V��}|����������d{V��ddd���d{V��dS#1�d{V��swxYwYdSrrWr�s ��rrXz0TestTaskGroup.test_taskgroup_21a.<locals>.runnerlr�r�)rYr�r1rr[rr�r�s   @@r�test_taskgroup_21az TestTaskGroup.test_taskgroup_21a`s�������	�	�	�	 �	 �	 �	�	�	�	�	�	�
�
�
�1�
2�
2�	�b��&�(�(�N�N�N�N�N�N�N�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	
������6�6��I�8N�O�O�O�O�Or�c��:��K�d��d����fd�}tj|����}tjd���d{V��|���|�tj��5|�d{V��ddd��dS#1swxYwYdS)Nc��>K�tjd���d{V��dSr@r&r	r
rr(z-TestTaskGroup.test_taskgroup_22.<locals>.foo1xrBr
c��>K�tjd���d{V��dSr�r&r	r
rr.z-TestTaskGroup.test_taskgroup_22.<locals>.foo2|rBr
c���K�tj��4�d{V��}|������|������ddd���d{V��dS#1�d{V��swxYwYdSrrW)r5r(r.s ��rrXz/TestTaskGroup.test_taskgroup_22.<locals>.runner�s�����!�+�-�-�
&�
&�
&�
&�
&�
&�
&���
�
�d�d�f�f�%�%�%��
�
�d�d�f�f�%�%�%�
&�
&�
&�
&�
&�
&�
&�
&�
&�
&�
&�
&�
&�
&�
&�
&�
&�
&�
&�
&�
&�
&�
&�
&����
&�
&�
&�
&�
&�
&s�;A+�+
A5�8A5g�������?)rr0r'rDrYrN)r4rXrvr(r.s   @@r�test_taskgroup_22zTestTaskGroup.test_taskgroup_22vs������	�	�	�	�	�	�	&�	&�	&�	&�	&�	&�

������)�)���m�D�!�!�!�!�!�!�!�!�!�	���
�
�
�
�
�
�w�5�
6�
6�	�	��G�G�G�G�G�G�G�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s�:	B�B�Bc��K�d�}tj��4�d{V��}td��D]h}tjd���d{V��|�|d����|dkr(|�t|j��d���itjd���d{V��|�	t|j��d��ddd���d{V��dS#1�d{V��swxYwYdS)Nc��>K�tj|���d{V��dSrr&��delays r�do_jobz/TestTaskGroup.test_taskgroup_23.<locals>.do_job��.�����-��&�&�&�&�&�&�&�&�&�&�&r
rVr$r�rcg�������?r)
rr/rprr'r0�
assertLess�len�_tasksr1)r4rr5�counts    r�test_taskgroup_23zTestTaskGroup.test_taskgroup_23�s�����	'�	'�	'��'�)�)�	/�	/�	/�	/�	/�	/�	/�Q��r���
6�
6���m�C�(�(�(�(�(�(�(�(�(��
�
�f�f�S�k�k�*�*�*��A�:�:��O�O�C���M�M�1�5�5�5���-��%�%�%�%�%�%�%�%�%����S���]�]�A�.�.�.�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/����	/�	/�	/�	/�	/�	/s�B;C-�-
C7�:C7c��H��K��fd��d���fd�}|���d{V��dS)Nc���K�tjd���d{V��|��d����|��d����dS)Nr$r,�rr'r0)r5�coro1s �r�rootz-TestTaskGroup.test_taskgroup_24.<locals>.root�sc������-��$�$�$�$�$�$�$�$�$�
�M�M�%�%��*�*�%�%�%�
�M�M�%�%��*�*�%�%�%�%�%r
c��>K�tj|���d{V��dSrr&rs rr
z.TestTaskGroup.test_taskgroup_24.<locals>.coro1�rr
c����K�tj��4�d{V��}|��|����ddd���d{V��dS#1�d{V��swxYwYdSrrW)r5rs �rrXz/TestTaskGroup.test_taskgroup_24.<locals>.runner�s������!�+�-�-�
'�
'�
'�
'�
'�
'�
'���
�
�d�d�1�g�g�&�&�&�
'�
'�
'�
'�
'�
'�
'�
'�
'�
'�
'�
'�
'�
'�
'�
'�
'�
'�
'�
'�
'�
'�
'�
'����
'�
'�
'�
'�
'�
's�A�
A�Ar	)r4rXr
rs  @@r�test_taskgroup_24zTestTaskGroup.test_taskgroup_24�sf������	&�	&�	&�	&�	&�
	'�	'�	'�	'�	'�	'�	'�	'��f�h�h���������r
c��B���K�d���fd���fd����fd�}|�t��5}|���d{V��ddd��n#1swxYwY|�t|j��t
h��|��d��dS)Nrc����K��dz
�tjd���d{V��|��|����|��|����dS)NrAg{�G�z�?r)r5�hydra�nhydrass ��rrz.TestTaskGroup.test_taskgroup_25.<locals>.hydra�sl������q�L�G��-��%�%�%�%�%�%�%�%�%�
�M�M�%�%��(�(�#�#�#�
�M�M�%�%��(�(�#�#�#�#�#r
c��b�K��dkr tjd���d{V���dk� ddzdS)NrVg���Q��?rArr&)rs�r�herculesz1TestTaskGroup.test_taskgroup_25.<locals>.hercules�sJ������B�,�,��m�E�*�*�*�*�*�*�*�*�*��B�,�,�
��E�E�E�Er
c���K�tj��4�d{V��}|��|����|������ddd���d{V��dS#1�d{V��swxYwYdSrrW)r5rrs ��rrXz/TestTaskGroup.test_taskgroup_25.<locals>.runner�s�����!�+�-�-�
*�
*�
*�
*�
*�
*�
*���
�
�e�e�A�h�h�'�'�'��
�
�h�h�j�j�)�)�)�
*�
*�
*�
*�
*�
*�
*�
*�
*�
*�
*�
*�
*�
*�
*�
*�
*�
*�
*�
*�
*�
*�
*�
*����
*�
*�
*�
*�
*�
*s�<A,�,
A6�9A6rV)rYrZr1rr[r\�assertGreaterEqual)r4rXr]rrrs   @@@r�test_taskgroup_25zTestTaskGroup.test_taskgroup_25�s$���������	$�	$�	$�	$�	$�	$�	�	�	�	�	�
	*�	*�	*�	*�	*�	*�
�
�
�~�
.�
.�	�"��&�(�(�N�N�N�N�N�N�N�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	
������6�6�9J�8K�L�L�L������,�,�,�,�,s�A�A�Ac��K�d�}tj��4�d{V��}|�|��d���}|�|���d��ddd���d{V��dS#1�d{V��swxYwYdS)Nc��>K�tjd���d{V��dS�Nrr&r	r
r�coroz4TestTaskGroup.test_taskgroup_task_name.<locals>.coro�s.�����-��"�"�"�"�"�"�"�"�"�"�"r
�yolo)�name)rr/r0r1�get_name)r4rr5r�s    r�test_taskgroup_task_namez&TestTaskGroup.test_taskgroup_task_name�s����	#�	#�	#��'�)�)�	3�	3�	3�	3�	3�	3�	3�Q��
�
�d�d�f�f�6�
�2�2�A����Q�Z�Z�\�\�6�2�2�2�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3����	3�	3�	3�	3�	3�	3s�AA:�:
B�Bc��t�K�tjd����fd�}tj��4�d{V��}tj��}|�|������|�|d��|���}|�d{V��|�d|������|�|d��|���}|�d{V��|�d|������ddd���d{V��dS#1�d{V��swxYwYdS)N�cvarc��j�K�tjd���d{V����|��dSr)rr'�set)�valr$s �rrz7TestTaskGroup.test_taskgroup_task_context.<locals>.coro�s<������-��"�"�"�"�"�"�"�"�"��H�H�S�M�M�M�M�Mr
rA)�contextr�)	�contextvars�
ContextVarrr/�copy_context�assertIsNone�getr0r1)r4rr5�ctxr6r7r$s      @r�test_taskgroup_task_contextz)TestTaskGroup.test_taskgroup_task_context�s�������%�f�-�-��	�	�	�	�	��'�)�)�	/�	/�	/�	/�	/�	/�	/�Q��*�,�,�C����c�g�g�d�m�m�,�,�,����t�t�A�w�w���4�4�B��H�H�H�H�H�H�H����Q�����
�
�.�.�.����t�t�A�w�w���4�4�B��H�H�H�H�H�H�H����Q�����
�
�.�.�.�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/����	/�	/�	/�	/�	/�	/s�CD'�'
D1�4D1c�����K�d����fd�}��t��5}tj��4�d{V��}|������|�||����ddd���d{V��n#1�d{V��swxYwYddd��n#1swxYwY��t
|j��th��dS)Nc��HK�tjd���d{V��ddzdS)Ng����MbP?rArr&r	r
rr
zHTestTaskGroup.test_taskgroup_no_create_task_after_failure.<locals>.coro1�s5�����-��&�&�&�&�&�&�&�&�&�
��E�E�E�Er
c���K�	tjd���d{V��dS#tj$r���t��5|����x}��ddd��n#1swxYwY��t��5|�d{V��ddd��YdS#1swxYwYYdSwxYw)NrA)rr'rNrY�RuntimeErrorr0r\)r5�c1r
r4s  ��r�coro2zHTestTaskGroup.test_taskgroup_no_create_task_after_failure.<locals>.coro2�sm�����
��m�A�&�&�&�&�&�&�&�&�&�&�&���)�
�
�
��&�&�|�4�4�1�1��M�M�����-�"�0�0�0�1�1�1�1�1�1�1�1�1�1�1����1�1�1�1��&�&�'8�9�9����H�H�H�H�H�H�H������������������������	
���sW�!�)C�
 A6�*C�6A:	�:C�=A:	�>C�	B2�$C�2B6	�6C�9B6	�:C�C)	rYrZrr/r0r1rr[r\)r4r5r]r5r
s`   @r�+test_taskgroup_no_create_task_after_failurez9TestTaskGroup.test_taskgroup_no_create_task_after_failure�s�������	�	�	�	�	�	�	�	�	��
�
�~�
.�
.�	(�"�!�+�-�-�
(�
(�
(�
(�
(�
(�
(���
�
�e�e�g�g�&�&�&��
�
�e�e�A�h�h�'�'�'�
(�
(�
(�
(�
(�
(�
(�
(�
(�
(�
(�
(�
(�
(�
(�
(�
(�
(�
(�
(�
(�
(�
(����
(�
(�
(�
(�	(�	(�	(�	(�	(�	(�	(�	(�	(�	(�	(����	(�	(�	(�	(�
	
������6�6�9J�8K�L�L�L�L�Ls5�B-�<B�>B-�
B	�B-�B	�B-�-B1�4B1c�������K�Gd�dt����fd��tj�fd��������fd�}tj|�����d{V��dS)Nc��eZdZdS)�QTestTaskGroup.test_taskgroup_context_manager_exit_raises.<locals>.CustomExceptionNrr	r
r�CustomExceptionr9�s�������Dr
r:c���K���rr	�r:s�r�	raise_exczKTestTaskGroup.test_taskgroup_context_manager_exit_raises.<locals>.raise_exc�s
�����!�!r
c�$�K�	dWV���#��xYwrr	r<s�r�databasezJTestTaskGroup.test_taskgroup_context_manager_exit_raises.<locals>.database�s,�����
&������%�%��o�%�%�%�%s��c	���K�tj��}	tj��4�d{V��}���4�d{V��|������tjd���d{V��ddd���d{V��n#1�d{V��swxYwYddd���d{V��n#1�d{V��swxYwYns#xgc�%x�\}��|���d����t|j	��d��d}~nd}~�nn�Xx�YdScYwxYw��
d��dS)NrArr�zCustomException not raised)r�current_taskrr/r0r'r1�
cancellingrrr�)�task�tg�errr:r?r=r4s   ����r�mainzFTestTaskGroup.test_taskgroup_context_manager_exit_raises.<locals>.mainsx������'�)�)�D�

8�%�/�1�1�/�/�/�/�/�/�/�R�'�x�z�z�/�/�/�/�/�/�/�/����y�y�{�{�3�3�3�%�m�A�.�.�.�.�.�.�.�.�.�/�/�/�/�/�/�/�/�/�/�/�/�/�/�/�/�/�/�/�/�/�/�/����/�/�/�/�/�/�/�/�/�/�/�/�/�/�/�/�/�/�/�/�/�/�/�/�/�/�/����/�/�/�/���
9�
9�
9�O�
9�
9�
9�
9�� � ����!2�!2�A�6�6�6�� � ��S�^�!4�!4�a�8�8�8�8�8�8�8�������8�
9���������������
�	�	�6�7�7�7�7�7s_�C�B/�8B�:B/�
B	�B/�B	�B/�C�/
B9�9C�<B9�=C�	D1�
AD	�D1)�	Exception�
contextlib�asynccontextmanagerrr0)r4rFr:r?r=s` @@@r�*test_taskgroup_context_manager_exit_raisesz8TestTaskGroup.test_taskgroup_context_manager_exit_raises�s���������	�	�	�	�	�i�	�	�	�	"�	"�	"�	"�	"�
�	'�	&�	&�	&�	&�
(�	'�	&�	8�	8�	8�	8�	8�	8�	8�	8��!�$�$�&�&�)�)�)�)�)�)�)�)�)�)�)r
c��JK�tj��}|4�d{V��|�td��5|4�d{V��	ddd���d{V��n#1�d{V��swxYwYddd��n#1swxYwYddd���d{V��dS#1�d{V��swxYwYdS�Nzhas already been entered�rr/�assertRaisesRegexr3�r4rDs  r�test_taskgroup_already_enteredz,TestTaskGroup.test_taskgroup_already_entereds�����
�
!�
#�
#���	�	�	�	�	�	�	�	��'�'��6P�Q�Q�
�
�����������������������������������������
�
�
�
�
�
�
�
�
�
�
����
�
�
�
�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	sX�B�	A4�A�A4�
A!�!A4�$A!�%A4�(B�4A8	�8B�;A8	�<B�
B�Bc��LK�tj��}|4�d{V��	ddd���d{V��n#1�d{V��swxYwY|�td��5|4�d{V��	ddd���d{V��n#1�d{V��swxYwYddd��dS#1swxYwYdSrLrMrOs  r�test_taskgroup_double_enterz)TestTaskGroup.test_taskgroup_double_enters�����
�
!�
#�
#���	�	�	�	�	�	�	�	��	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
#�
#�L�2L�
M�
M�	�	��
�
�
�
�
�
�
�
��
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
����
�
�
�
�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	sB�2�
<�<�	B�'A;�)B�;
B	�B�B	�	B�B� Bc��RK�tj��}|4�d{V��	ddd���d{V��n#1�d{V��swxYwYtjd��}|�t
d��5|�|��ddd��n#1swxYwY|�d{V��dS)Nrzis finished�rr/rr'rNr3r0�r4rDrs   r�test_taskgroup_finishedz%TestTaskGroup.test_taskgroup_finishedso����
�
!�
#�
#���	�	�	�	�	�	�	�	��	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	��}�Q����
�
#�
#�L�-�
@�
@�	!�	!��N�N�4� � � �	!�	!�	!�	!�	!�	!�	!�	!�	!�	!�	!����	!�	!�	!�	!��
�
�
�
�
�
�
�
�
s�2�
<�<�2B�B�Bc��K�tj��}tjd��}|�t
d��5|�|��ddd��n#1swxYwY|�d{V��dS)Nr�has not been enteredrTrUs   r�test_taskgroup_not_enteredz(TestTaskGroup.test_taskgroup_not_entered)s�����
�
!�
#�
#���}�Q����
�
#�
#�L�2H�
I�
I�	!�	!��N�N�4� � � �	!�	!�	!�	!�	!�	!�	!�	!�	!�	!�	!����	!�	!�	!�	!��
�
�
�
�
�
�
�
�
s�A'�'A+�.A+c��K�tj��}|�td��5t	|������d{V��ddd��n#1swxYwYt
jd��}|�td��5|�|��ddd��n#1swxYwY|�d{V��dS)Nzparent taskrrX)	rr/rNr3r�
__aenter__rr'r0rUs   r�"test_taskgroup_without_parent_taskz0TestTaskGroup.test_taskgroup_without_parent_task1sK����
�
!�
#�
#��
�
#�
#�L�-�
@�
@�	6�	6�$�R�]�]�_�_�5�5�5�5�5�5�5�5�5�	6�	6�	6�	6�	6�	6�	6�	6�	6�	6�	6����	6�	6�	6�	6��}�Q����
�
#�
#�L�2H�
I�
I�	!�	!��N�N�4� � � �	!�	!�	!�	!�	!�	!�	!�	!�	!�	!�	!����	!�	!�	!�	!��
�
�
�
�
�
�
�
�
s#�(A%�%A)�,A)�C�C�CN)'rrrr8r=rGr^rgrwr}r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r	rrr"r/r6rJrPrRrVrYr\r	r
rr r sN������*�*�*�"*�*�*�$*�*�*�,#(�#(�#(�J-'�-'�-'�^!�!�!�6 "� "� "�DM�M�M�0(�(�(�<(�(�(�:[�[�[�6[�[�[�:F�F�F�&T�T�T�(M�M�M�0M�M�M�8"�"�"�,"�"�"�:7�7�7�0���&
�
�
�.���4P�P�P�,���,/�/�/���� -�-�-�43�3�3�/�/�/�"M�M�M�**�*�*�>����������������r
r �__main__)rr)rHr�unittest�test.test_asyncio.utilsrrrGr�
BaseExceptionrr�IsolatedAsyncioTestCaser rrFr	r
r�<module>rbs#��
����������������������6�6�6�6�6�6�(�(�(�	�	�	�	�	�I�	�	�	�	�	�	�	�	�
�	�	�	�0�0�0�Z�Z�Z�Z�Z�H�4�Z�Z�Z�z�z����H�M�O�O�O�O�O��r