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_yield_from.cpython-312.pyc

�

'Μg�����dZddlZddlZddlmZmZmZddlmZGd�dej�Z
Gd�dej�Zed	k(rej�yy)
z�
Test suite for PEP 380 implementation

adapted from original tests written by Greg Ewing
see <http://www.cosc.canterbury.ac.nz/greg.ewing/python/yield-from/YieldFrom-Python3.1.2-rev5.zip>
�N)�captured_stderr�
disable_gc�
gc_collect)�supportc���eZdZdZd�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$y#)$�TestPEP380Operationz
    Test semantics.
    c����g���fd�}�fd��|�D]}�jd|����|j�gd��y)zH
        Test delegation of initial next() call to subgenerator
        c3�t�K��jd���Ed{����jd�y7��w�N�Starting g1�Finishing g1��append��g2�traces���1/usr/local/lib/python3.12/test/test_yield_from.py�g1zOTestPEP380Operation.test_delegation_of_initial_next_to_subgenerator.<locals>.g1s-������L�L��'��t�O�O��L�L��(�
���8�6�8c3�Z�K��jd�d���jd�y�w)N�Starting g2�*�Finishing g2r�rs�rrzOTestPEP380Operation.test_delegation_of_initial_next_to_subgenerator.<locals>.g2s$������L�L��'��H��L�L��(�s�(+�Yielded )rrz
Yielded 42rr
N�r�assertEqual��selfr�xrrs   @@r�/test_delegation_of_initial_next_to_subgeneratorzCTestPEP380Operation.test_delegation_of_initial_next_to_subgeneratorsF�����	)�	)���A��L�L��,�-������ 
�	�c����g���fd�}�fd��	|�D]}�jd|����	|jd�|j�gd��y#t$r)}|j|jdd�Yd}~�Bd}~wwxYw)	z?
        Test raising exception in initial next() call
        c3��K�	�jd���Ed{����jd�y7�#�jd�wxYw�wrrrs��rrzKTestPEP380Operation.test_raising_exception_in_initial_next_call.<locals>.g11s?�����
-����]�+��4������^�,� �����^�,�s%�A�9�7�9�A�9�A�Ac�j��	�jd�td��#�jd�wxYw)Nr�spanish inquisition occurredr�r�
ValueErrorrs�rrzKTestPEP380Operation.test_raising_exception_in_initial_next_call.<locals>.g27s.���
-����]�+� �!?�@�@�����^�,�s��2r�'subgenerator failed to raise ValueErrorrr&N)rrrr
�r�failr(r�args�rrr �errs    @@r�+test_raising_exception_in_initial_next_callz?TestPEP380Operation.test_raising_exception_in_initial_next_call,s������	-�	-�	A��T�����Q�0�1��

�I�I�?�@����� 
�	��	�	H����Q�V�V�A�Y�(F�G�G��	H��� A�	B
�!B�B
c����g���fd�}�fd��|�D]}�jd|����|j�gd��y)z@
        Test delegation of next() call to subgenerator
        c3��K��jd�d����Ed{���d���jd�y7��w�Nr�g1 ham�g1 eggsr
rrs��rrzLTestPEP380Operation.test_delegation_of_next_call_to_subgenerator.<locals>.g1Ps7������L�L��'��N��t�O�O��O��L�L��(�
�s� A�>�Ac3�b�K��jd�d��d���jd�y�w�Nr�g2 spam�g2 more spamrrrs�rrzLTestPEP380Operation.test_delegation_of_next_call_to_subgenerator.<locals>.g2Vs*������L�L��'��O� � ��L�L��(���,/r)r�Yielded g1 hamr�Yielded g2 spam�Yielded g2 more spamr�Yielded g1 eggsr
Nrrs   @@r�,test_delegation_of_next_call_to_subgeneratorz@TestPEP380Operation.test_delegation_of_next_call_to_subgeneratorKsF�����	)�	)�
��A��L�L��,�-������	 
�		r"c����g���fd�}�fd��	|�D]}�jd|����	|jd�|j�gd��y#t$r)}|j|jdd�Yd}~�Bd}~wwxYw)	zA
        Test raising exception in delegated next() call
        c3��K�	�jd�d����Ed{���d���jd�y7�#�jd�wxYw�wr3rrs��rrzMTestPEP380Operation.test_raising_exception_in_delegated_next_call.<locals>.g1m�K�����
-����]�+����4��������^�,� �����^�,��)�A�A�?�A�A�A�A�Ac3�z�K�	�jd�d��td��#�jd�wxYw�w)Nrr8�hovercraft is full of eelsrr'rs�rrzMTestPEP380Operation.test_raising_exception_in_delegated_next_call.<locals>.g2us8�����
-����]�+��� �!=�>�>�����^�,�s�;� %�8�;rr)rrEN�rr;rr<rr
r*r-s    @@r�-test_raising_exception_in_delegated_next_callzATestPEP380Operation.test_raising_exception_in_delegated_next_callhs������	-�	-�	A��T�����Q�0�1��

�I�I�?�@����� 
�	��	�	F����Q�V�V�A�Y�(D�E�E��	F�r0c�����g���fd�}�fd��|�}t|�}d}		|j|�}�jd|���|dz
}�+#t$rYnwxYw|j	�gd��y)z+
        Test delegation of send()
        c3���K��jd�d��}�jd|�����Ed{���d��}�jd|����jd�y7�.�w�Nrr4zg1 received r5r
r�r rrs ��rrz7TestPEP380Operation.test_delegation_of_send.<locals>.g1��Y������L�L��'���A��L�L�Q�0�1��t�O�O���A��L�L�Q�0�1��L�L��(�
���4A(�A&�/A(c3��K��jd�d��}�jd|���d��}�jd|����jd�y�w)Nrr8�g2 received r9rr�r rs �rrz7TestPEP380Operation.test_delegation_of_send.<locals>.g2�sL������L�L��'���A��L�L�Q�0�1�$�$�A��L�L�Q�0�1��L�L��(�s�AA�r)r�
g1 received 1rr<�
g2 received 2r=z
g2 received 3rr>z
g1 received 4r
N)�next�sendr�
StopIterationr)rr�g�yr rrs     @@r�test_delegation_of_sendz+TestPEP380Operation.test_delegation_of_send�s������	)�	)�
�D����G��
��	���F�F�1�I�����Q�0�1��Q������	��	������ 
�	s�,A�	A�Ac�����g���fd���fd����fd�}|jt|�|j�gd��y)zA
        Test handling exception while delegating 'send'
        c3���K��jd�d��}�jd|�����Ed{���d��}�jd|����jd�y7�.�wrJrrKs ��rrzMTestPEP380Operation.test_handling_exception_while_delegating_send.<locals>.g1�rLrMc3�t�K��jd�d��}�jd|���td���w)Nrr8rOrEr'rPs �rrzMTestPEP380Operation.test_handling_exception_while_delegating_send.<locals>.g2�s5������L�L��'���A��L�L�Q�0�1��9�:�:�s�58c������}t|�}d}		|j|�}�jd|���|dz
}�+#t$r�jd�YywxYw)NrQrrV)rTrUrrV)rWrXr rrs   ��r�runzNTestPEP380Operation.test_handling_exception_while_delegating_send.<locals>.run�sg�����A��Q��A��A�
.�����q�	�A��L�L��!4�5���F�A���!�
.����_�-�
.�s�,A�A �A )rrRrr<rSN)�assertRaisesr(r�rr^rrrs  @@@r�-test_handling_exception_while_delegating_sendzATestPEP380Operation.test_handling_exception_while_delegating_send�s@�����	)�	)�
	.�	
���*�S�)����� 
�	r"c�����g���fd�}�fd��|�}td�D]!}t|�}�jd|����#|j�|j	�gd��y)z)
        Test delegating 'close'
        c3��K�	�jd�d����Ed{���d���jd�y7�#�jd�wxYw�wr3rrs��rrz5TestPEP380Operation.test_delegating_close.<locals>.g1�rBrCc3��K�	�jd�d��d���jd�y#�jd�wxYw�wr7rrs�rrz5TestPEP380Operation.test_delegating_close.<locals>.g2��;�����
-����]�+���$�$����^�,�����^�,���A�0�A�A�A�rrFN)�rangerTr�closer)rrrW�ir rrs     @@r�test_delegating_closez)TestPEP380Operation.test_delegating_close�sc�����	-�	-�
�D���q��A��Q��A��L�L��,�-��	
���	����� 
�	r"c����g���fd�}�fd��	|�}td�D]!}t|�}�jd|����#|j�|j	d�|j
�gd	��y#t
$rI}|j
|jdd�|j|jt�Yd}~�bd}~wwxYw)
zB
        Test handling exception while delegating 'close'
        c3��K�	�jd�d����Ed{���d���jd�y7�#�jd�wxYw�wr3rrs��rrzMTestPEP380Operation.test_handing_exception_while_delegating_close.<locals>.g1	rBrCc3��K�	�jd�d��d���jd�td��#�jd�td��xYw�w)Nrr8r9r�"nybbles have exploded with delightr'rs�rrzMTestPEP380Operation.test_handing_exception_while_delegating_close.<locals>.g2sW�����
G����]�+���$�$����^�,� �!E�F�F�����^�,� �!E�F�F�s�A�:�A�A�Argrr)rroNrF)rhrTrrir+r(rr,�assertIsInstance�__context__�
GeneratorExit�rrrWrjr r.rrs      @@r�-test_handing_exception_while_delegating_closezATestPEP380Operation.test_handing_exception_while_delegating_closes������	-�	G�
	A���A��1�X����G�����Q�0�1��
�G�G�I�

�I�I�?�@����� 
�	���	@����Q�V�V�A�Y�(L�M��!�!�!�-�-��?�?��	@�s�AA=�=	C�?C
�
Cc�|���g���fd�}�fd��	|�}td�D]!}t|�}�jd|����#td�}|j	|�|jd�|j
�gd	��y#t$r)}|j
|jdd�Yd}~�Bd}~wwxYw)
z)
        Test delegating 'throw'
        c3��K�	�jd�d����Ed{���d���jd�y7�#�jd�wxYw�wr3rrs��rrz5TestPEP380Operation.test_delegating_throw.<locals>.g12rBrCc3��K�	�jd�d��d���jd�y#�jd�wxYw�wr7rrs�rrz5TestPEP380Operation.test_delegating_throw.<locals>.g2:rerfrgr�tomato ejectedr)rNrF�rhrTrr(�throwr+rr,rss      @@r�test_delegating_throwz)TestPEP380Operation.test_delegating_throw-s������	-�	-�
	A���A��1�X����G�����Q�0�1���+�,�A�
�G�G�A�J�
�I�I�?�@����� 
�	��	�	:����Q�V�V�A�Y�(8�9�9��	:�s�AB	�		B;�B6�6B;c���g��fd�}t�}||�td�}||�d|_||�|j�gd��y)zC
        Test 'value' attribute of StopIteration exception
        c����j|jj�d|����jd|j���y)Nz: zvalue = )r�	__class__�__name__�value)r.rs �r�pexzPTestPEP380Operation.test_value_attribute_of_StopIteration_exception.<locals>.pexZs1����L�L�Q�[�[�%9�%9�1�=�>��L�L����2�3r"�spam�eggs)zStopIteration: zvalue = None�StopIteration: spamzvalue = spamr�zvalue = eggsN)rVr�r)rr�r.rs   @r�/test_value_attribute_of_StopIteration_exceptionzCTestPEP380Operation.test_value_attribute_of_StopIteration_exceptionUsS�����	4�
�O���A���&�!���A������A������ 
�	r"c�X���fd�}d��|jt|��dg�y)Nc3�0�K���Ed{���y7��w�N�)rs�rrz:TestPEP380Operation.test_exception_value_crash.<locals>.g1ps������t�O�O�����c3�K�d��dgS�w)Nrrr�r�r"rrz:TestPEP380Operation.test_exception_value_crash.<locals>.g2rs�����J��4�K�s�
r)r�list)rrrs  @r�test_exception_value_crashz.TestPEP380Operation.test_exception_value_crashms'���	�	�	
����b�d��d�V�,r"c����g���fd�}d�fd�	�|�D]}�jd|����|j�gd��y)z-
        Test generator return value
        c3��K��jd�d����Ed{���}�jd|���ddtd�fD]&}�|�Ed{���}�jd|����(d���jd�y7�e7�2�w)	Nrr4zg2 returned rQ�rg�r5r
)rrV)�ret�vrrs  ��rrz;TestPEP380Operation.test_generator_return_value.<locals>.g1}s������L�L��'��N��T�/�C��L�L�S�2�3���m�A�.�.��!#�A��&������6�7�/��O��L�L��(�
"��'�s!� B
�B	�4B
�B�1B
�B
Nc3�j�K��jd�d��d���jd�|r|Sy�wr7r)r�rs �rrz;TestPEP380Operation.test_generator_return_value.<locals>.g2�s7������L�L��'��O� � ��L�L��(�����s�03r)rr;rr<r=rzg2 returned Nonerr<r=rz
g2 returned 1rr<r=rzg2 returned (2,)rr<r=rzg2 returned StopIteration(3)r>r
r�rrs   @@r�test_generator_return_valuez/TestPEP380Operation.test_generator_return_valuexsF�����		)�	���A��L�L��,�-������ 
�	r"c�v�g}d�}|�D]}|jd|����|j|gd��y)z<
        Test delegation of next() to non-generator
        c3�6K�td�Ed{���y7��w�Nr��rhr�r"rrWzGTestPEP380Operation.test_delegation_of_next_to_non_generator.<locals>.g�������Q�x�������r)�	Yielded 0�	Yielded 1�	Yielded 2Nr)rrrWr s    r�(test_delegation_of_next_to_non_generatorz<TestPEP380Operation.test_delegation_of_next_to_non_generator�s>����	 ���A��L�L��,�-������ 
�	r"c��g}d�}|�}td�D]'}|jd�}|jd|����)|j|gd��y)z9
        Test conversion of send(None) to next()
        c3�6K�td�Ed{���y7��wr�r�r�r"rrWzBTestPEP380Operation.test_conversion_of_sendNone_to_next.<locals>.g�r�r�r�N�	Yielded: )z
Yielded: 0z
Yielded: 1z
Yielded: 2)rhrUrr)rrrW�gir rXs      r�#test_conversion_of_sendNone_to_nextz7TestPEP380Operation.test_conversion_of_sendNone_to_next�sV����	 �
�S���q��A�����
�A��L�L�!�-�.��	
���� 
�	r"c���g��fd�}|�}t|�t�5}|j�ddd�|jj	�d�|j�ddg�y#1swY�>xYw)z=
        Test delegation of close() to non-generator
        c3���K�	�jd�td�Ed{����jd��jd�y7�'#�jd�wxYw�w�N�
starting gr�zg should not be here�finishing g�rrhrs�rrWzHTestPEP380Operation.test_delegation_of_close_to_non_generator.<locals>.g��R�����
,����\�*� ��8�#�#����3�4����]�+�$�����]�+��+�A$�A�A�A�A$�A�A!�!A$N�r�r�)rTrrir�getvalue)rrWr��outputrs    @r�)test_delegation_of_close_to_non_generatorz=TestPEP380Operation.test_delegation_of_close_to_non_generator�sp�����	,��S���R��
�
�&��H�H�J��������*�B�/������� 
�	��
�s�A3�3A<c�n��g��fd�}	|�}td�D]!}t|�}�jd|����#td�}|j	|�|jd�|j
�gd��y#t$r)}|j
|jdd�Yd}~�Bd}~wwxYw)	z:
        Test delegating 'throw' to non-generator
        c3��K�	�jd�td�Ed{����jd�y7�#�jd�wxYw�w)N�
Starting g�
�Finishing gr�rs�rrWzETestPEP380Operation.test_delegating_throw_to_non_generator.<locals>.g�sC�����
,����\�*� ��9�$�$����]�+�%�����]�+�s%�A�=�;�=�A�=�A�A�rrxr)rN)r�r�r�r�z	Yielded 3z	Yielded 4r�ry)rrWr�rjr r.rs      @r�&test_delegating_throw_to_non_generatorz:TestPEP380Operation.test_delegating_throw_to_non_generator�s������	,�
	A���B��1�X����H�����Q�0�1���+�,�A��H�H�Q�K�
�I�I�?�@����� 
�	��	�	9����Q�V�V�A�Y�'7�8�8��	9�s�AB�	B4�B/�/B4c�Z��g��fd�}	|�}t|�td�D]'}|jd�}�jd|����)	|j	d�|j�d	d
g�y#t
$r)}|j
d|jd�Yd}~�Bd}~wwxYw)z:
        Test attempting to send to non-generator
        c3���K�	�jd�td�Ed{����jd��jd�y7�'#�jd�wxYw�wr�r�rs�rrWzGTestPEP380Operation.test_attempting_to_send_to_non_generator.<locals>.gr�r�r�rzShould not have yielded: z#was able to send into non-generatorrUrNr�r�)	rTrhrUrr+�AttributeError�assertInr,r)rrWr�r rXr.rs      @r�(test_attempting_to_send_to_non_generatorz<TestPEP380Operation.test_attempting_to_send_to_non_generators������	,�		=���B���H��1�X���G�G�B�K�����a�A�B��
�I�I�;�<������� 
�	��	�	-��M�M�&�!�&�&��)�,�,��	-�s�AA8�8	B*�B%�%B*c���Gd�d���fd�}|jt�5|�}|jt|�d�|j	d�ddd�|jt�5|�}|jt|�d�|jt�ddd�tj�5}|�}|jt|�d�|j�|jt|jj�ddd�y#1swY��xYw#1swY��xYw#1swYyxYw)zG
        Test subiterator with a broken getattr implementation
        c��eZdZd�Zd�Zd�Zy)�@TestPEP380Operation.test_broken_getattr_handling.<locals>.Brokenc��|Sr�r��rs r�__iter__zITestPEP380Operation.test_broken_getattr_handling.<locals>.Broken.__iter__"����r"c��y)NrQr�r�s r�__next__zITestPEP380Operation.test_broken_getattr_handling.<locals>.Broken.__next__$s��r"c��ddzy�NrQrr�)r�attrs  r�__getattr__zLTestPEP380Operation.test_broken_getattr_handling.<locals>.Broken.__getattr__&s	���!�r"N)r�
__module__�__qualname__r�r�r�r�r"r�Brokenr�!s��
�
�
r"r�c3�0�K���Ed{���y7��wr�r�)r�s�rrWz;TestPEP380Operation.test_broken_getattr_handling.<locals>.g)s������x���r�rQN)r_�ZeroDivisionErrorrrTrUrzr�r�catch_unraisable_exceptionri�
unraisable�exc_type)rrWr��cmr�s    @r�test_broken_getattr_handlingz0TestPEP380Operation.test_broken_getattr_handlings����	�	�	 ��
�
�0�
1���B����T�"�X�q�)��G�G�A�J�2�
�
�
�0�
1���B����T�"�X�q�)��H�H�^�$�2�
�
/�
/�
1�R���B����T�"�X�q�)��H�H�J����.��
�
�0F�0F�G�2�
1�2�
1��
2�
1��
2�
1�s$�4D1�78D=�AE	�1D:�=E�	Ec�|����g���fd��d���fd�}|jt|�|j�dg�y)z7
        Test exception in initial next() call
        c3�t�K��jd���Ed{����jd�y7��w)N�g1 about to yield from g2�g1 should not be hererrs��rrzCTestPEP380Operation.test_exception_in_initial_next_call.<locals>.g1Bs/������L�L�4�5��t�O�O��L�L�0�1�
�rc3�K�ddz��y�wr�r�r�r"rrzCTestPEP380Operation.test_exception_in_initial_next_call.<locals>.g2Fs�����A�#�I�s�	c�*����}t|�yr�)rT)r�rs �rr^zDTestPEP380Operation.test_exception_in_initial_next_call.<locals>.runHs�����B���Hr"r�N)r_r�rr`s  @@@r�#test_exception_in_initial_next_callz7TestPEP380Operation.test_exception_in_initial_next_call=sD�����	2�	�	�	
���+�C�0�����'� 
�	r"c�"����g���fd�}��fd��	|���D]}�jd|����	|jd�|j�gd��y#t$r)}|j|jdd�Yd}~�Bd}~wwxYw)	z0
        Test attempted yield-from loop
        c3��K��jd�d���jd���Ed{����jd�y7��w)N�g1: starting�y1�g1: about to yield from g2r�rrs��rrz>TestPEP380Operation.test_attempted_yield_from_loop.<locals>.g1Us@������L�L��(��J��L�L�5�6��t�O�O��L�L�0�1�
�s�1A
�A�A
c3��K��jd�d���jd��Ed{����jd�y7��w)N�g2: starting�y2�g2: about to yield from g1zg2 should not be herer)r�rs��rrz>TestPEP380Operation.test_attempted_yield_from_loop.<locals>.g2\s>������L�L��(��J��L�L�5�6��M�M��L�L�0�1�
�s�,A�A�Ar�z$subgenerator didn't raise ValueErrorrzgenerator already executingN)r�zYielded: y1r�r�zYielded: y2r�r*)rrrXr.rr�rs    @@@r�test_attempted_yield_from_loopz2TestPEP380Operation.test_attempted_yield_from_loopPs������	2�	2�	>���B������a�1�2��

�I�I�<�=����� 
�	��	�	F����Q�V�V�A�Y�'D�E�E��	F�s�"A�	B�%B	�	Bc�@����g���fd�}��fd��Gd�dt��|�}td�D]!}t|�}�jd|����#�d�}|j	|�|D]}�jd|����|j�gd��y	)
z=
        Test returning value from delegated 'throw'
        c3��K�	�jd�d����Ed{���d���jd�y7�#�jd�wxYw�wr3rrs��rrzITestPEP380Operation.test_returning_value_from_delegated_throw.<locals>.g1xrBrCc3��K�	�jd�d��d��y#�$r�jd�d��d��YywxYw�w)Nrr8r9�Caught LunchError in g2zg2 lunch savedzg2 yet more spamr)�
LunchErrorrs��rrzITestPEP380Operation.test_returning_value_from_delegated_throw.<locals>.g2�sJ�����
)����]�+���$�$���
)����6�7�&�&�(�(�
)�s#�A��A�A�A�A�Ac��eZdZy)�QTestPEP380Operation.test_returning_value_from_delegated_throw.<locals>.LunchErrorN�rr�r�r�r"rr�r�����r"r�rgrrx)rr;rr<r�zYielded g2 yet more spamr>r
N)�	ExceptionrhrTrrzr)	rrrWrjr r.r�rrs	      @@@r�)test_returning_value_from_delegated_throwz=TestPEP380Operation.test_returning_value_from_delegated_throwss������	-�	)�	��	��D���q��A��Q��A��L�L��,�-��
�'�(��	����
��A��L�L��,�-������	 
�		r"c����g���fd�}�fd��|d�|d�|d�|td��|j�gd��y)z1
        Test next and return with value
        c�����|�}t|�	�jd�t|��jd�y#t$r}�jd|���Yd}~yd}~wwxYw)N�f resuming g�f SHOULD NOT BE HERE�	f caught )rTrrV��rr�r.rWrs   ��r�fz>TestPEP380Operation.test_next_and_return_with_value.<locals>.f�sZ����1��B���H�
3����^�,��R�����3�4�� �
3����a�1�2�2��
3�s�-A�	A+�
A&�&A+c3�b�K��jd�d���jd|���|S�w)N�
g starting�g returning r)r�rs �rrWz>TestPEP380Operation.test_next_and_return_with_value.<locals>.g�s*������L�L��&���L�L�Q�0�1��H�r:NrQr�r�)r�r��g returning None�f caught StopIteration()r�r��
g returning 1�f caught StopIteration(1)r�r��g returning (2,)�f caught StopIteration((2,))r�r��g returning StopIteration(3)�(f caught StopIteration(StopIteration(3))�rVr�rr�rWrs  @@r�test_next_and_return_with_valuez3TestPEP380Operation.test_next_and_return_with_value�sM�����	3�	�
	
�$��	�!��	�$��	�-��
������ 
�	r"c����g���fd�}�fd��|d�|d�|d�|td��|j�gd��y)z1
        Test send and return with value
        c�����|�}t|�	�jd�|jd��jd�y#t$r}�jd|���Yd}~yd}~wwxYw)N�f sending spam to gr�r�r�)rTrrUrVr�s   ��rr�z>TestPEP380Operation.test_send_and_return_with_value.<locals>.f�s_����1��B���H�
3����2�3���������3�4�� �
3����a�1�2�2��
3�s�3A
�
	A1�A,�,A1c3��K��jd�d��}�jd|����jd|���|S�w)Nr�zg received r�r)r�r rs  �rrWz>TestPEP380Operation.test_send_and_return_with_value.<locals>.g�s;������L�L��&��A��L�L�A�/�0��L�L�Q�0�1��H�s�AANrQr�r�)r�r�g received 'spam'r�r�r�rr
r�r�r�rr
r�rr�rr
rrrrs  @@r�test_send_and_return_with_valuez3TestPEP380Operation.test_send_and_return_with_value�sM�����	3�	�	
�$��	�!��	�$��	�-��
������!
�	r"c
�.������fd����fd�}ddtd�fD]u�g�|�}�jt|���jt|j	t
���|j
�ddd��d�t��g��wy	)
ze
        Test catching an exception thrown into a
        subgenerator and returning a value
        c3�\�K�	d���S#t$r�jd�Y�SwxYw�w)NrQ�inner caught ValueError)r(r)rr�s��r�innerzTTestPEP380Operation.test_catching_exception_from_subgen_and_returning.<locals>.inner�s:�����
8����L���
8����6�7��L�
8�s�,��,�)�,�)�,c3�b�K���Ed{���}�jd|�d��|��y7��w)N�inner returned �	 to outerr)r�rrs ��r�outerzTTestPEP380Operation.test_catching_exception_from_subgen_and_returning.<locals>.outers*����� �7�"�A��L�L��<�=��G�#�s�/�-�/rgr�rQrrrN)rVrrT�reprrzr(r)rrrWrrr�s   @@@r�1test_catching_exception_from_subgen_and_returningzETestPEP380Operation.test_catching_exception_from_subgen_and_returning�s����
	�	�
��m�A�.�.�E��E���A��L�L��a��!��L�L��a�g�g�j�1�2�3����U��)�05�7��U��	%�
�/r"c�����g��fd����fd�}	|�}t|�|jt�|jd�|j	�ddg�y#t$rY� wxYw)zo
        Test throwing GeneratorExit into a subgenerator that
        catches it and returns normally.
        c3�z�K�	�jd�d���jd�y#t$rYywxYw�w�N�Enter f�Exit f�rrrrs�rr�zSTestPEP380Operation.test_throwing_GeneratorExit_into_subgen_that_returns.<locals>.fs8�����
����Y�'�����X�&�� �
��
�s�;�&,�;�	8�;�8�;c3�t�K��jd���Ed{����jd�y7��w�N�Enter gzExit gr�r�rs��rrWzSTestPEP380Operation.test_throwing_GeneratorExit_into_subgen_that_returns.<locals>.g!�-������L�L��#��s�N�N��L�L��"�
�r�*subgenerator failed to raise GeneratorExitrrN)rTrzrrr+r)rrWr�r�rs   @@r�4test_throwing_GeneratorExit_into_subgen_that_returnszHTestPEP380Operation.test_throwing_GeneratorExit_into_subgen_that_returnssr���
��	�	#�	D���B���H��H�H�]�#�
�I�I�B�C������� 
�	��	�	��	�s�'A�	A*�)A*c�&���g��fd����fd�}	|�}t|�|jt�|jd�|j�ddg�y#t$r)}|j|jdd�Yd}~�Bd}~wwxYw)	ze
        Test throwing GeneratorExit into a subgenerator that
        catches it and yields.
        c3��K�	�jd�d���jd�y#t$rd��YywxYw�wrrrs�rr�zXTestPEP380Operation.test_throwing_GeneratorExit_into_subgenerator_that_yields.<locals>.f8s8�����
����Y�'�����X�&�� �
��
�s�?�&,�?�
<�?�<�?c3�t�K��jd���Ed{����jd�y7��wrrrs��rrWzXTestPEP380Operation.test_throwing_GeneratorExit_into_subgenerator_that_yields.<locals>.g?r rr!rzgenerator ignored GeneratorExitNrr)rTrzrrr+�RuntimeErrorrr,�rrWr�r.r�rs    @@r�9test_throwing_GeneratorExit_into_subgenerator_that_yieldszMTestPEP380Operation.test_throwing_GeneratorExit_into_subgenerator_that_yields2s����
��	�	#�	D���B���H��H�H�]�#�
�I�I�B�C������� 
�	��	�	K����Q�V�V�A�Y�(I�J�J��	K�s�'A�	B�'B�Bc�f���g��fd����fd�}	|�}t|�|jt�|jd�|j�ddg�y#t$rI}|j|jdd�|j|jt�Yd}~�bd}~wwxYw)	z{
        Test throwing GeneratorExit into a subgenerator that
        catches it and raises a different exception.
        c3��K�	�jd�d���jd�y#t$rtd��wxYw�w)Nrr�Vorpal bunny encountered)rrrr(rs�rr�zRTestPEP380Operation.test_throwing_GeneratorExit_into_subgen_that_raises.<locals>.fVsA�����
=����Y�'�����X�&�� �
=� �!;�<�<�
=�s�A�&,�A�A�Ac3�t�K��jd���Ed{����jd�y7��wrrrs��rrWzRTestPEP380Operation.test_throwing_GeneratorExit_into_subgen_that_raises.<locals>.g]r rr)rr+Nrr)	rTrzrrr+r(rr,rprqr's    @@r�3test_throwing_GeneratorExit_into_subgen_that_raiseszGTestPEP380Operation.test_throwing_GeneratorExit_into_subgen_that_raisesPs����
��	=�	#�	A���B���H��H�H�]�#�

�I�I�?�@������� 
�	���	@����Q�V�V�A�Y�(B�C��!�!�!�-�-��?�?��	@�s�'A�	B0�'?B+�+B0c�J�d�}|jtt|��y)Nc3�$K�dEd{���y7��w)Nr�r�r�r"rrWz4TestPEP380Operation.test_yield_from_empty.<locals>.gps
�����M�M�����)r_rVrT)rrWs  r�test_yield_from_emptyz)TestPEP380Operation.test_yield_from_emptyos��	����-��q�s�3r"c�x�������fd�}�fd��|���jt��gd��|��t��g}		|j�j	d���!#t
$rYnwxYw�j|gd��Gd�dt����fd�}��fd��|��t��g}		|j�j����!#t
$rYn�j|gd���xYwG��fd	�d
t���fd�}|��t���j�y)Nc3�@�K�d����Ed{���d��y7�	�w�Nrr�r�)�twos�r�onezOTestPEP380Operation.test_delegating_generators_claim_to_be_running.<locals>.onevs!������G��u����G�
�s���
c3�V�K�d��	�Ed{���d��y7�	#t$rY�wxYw�w�NrQrg�r()rs�rr5zOTestPEP380Operation.test_delegating_generators_claim_to_be_running.<locals>.twozs5������G�
��
�
��G����
��
�s(�)����)��	&�)�&�))rrQrgr�rc��eZdZy)�QTestPEP380Operation.test_delegating_generators_claim_to_be_running.<locals>.MyErrNr�r�r"r�MyErrr;�r�r"r<c3�p�K�	d����Ed{���	d��y#�$rY�wxYw7�#�$rYywxYw�wr4r�)r<r5s��rr6zOTestPEP380Operation.test_delegating_generators_claim_to_be_running.<locals>.one�sR�����
����u���
����	�
��
�����
��
�s<�6��
6�)�6�+�6�&�6�&�6�3�6�3�6c3��K�	d��	�Ed{���	d��y#�$rY�wxYw7�#t$rY�wxYw#�$rYywxYw�wr8r9)r<rs��rr5zOTestPEP380Operation.test_delegating_generators_claim_to_be_running.<locals>.two�sd�����
���
��
�
�
�����
��
�����
��
���
��
�sX�A��'�%�'�6�A�"�A�"�A�'�	3�A�3�A�>�A�>�Ac�&��eZdZd�Zd�Z��fd�Zy)�PTestPEP380Operation.test_delegating_generators_claim_to_be_running.<locals>.MyItc��|Sr�r�r�s rr�zYTestPEP380Operation.test_delegating_generators_claim_to_be_running.<locals>.MyIt.__iter__�r�r"c��y�Nrr�r�s rr�zYTestPEP380Operation.test_delegating_generators_claim_to_be_running.<locals>.MyIt.__next__����r"c�r���j�j��jtt��yr�)�
assertTrue�
gi_runningr_r(rT)�self_rrs ��rrizVTestPEP380Operation.test_delegating_generators_claim_to_be_running.<locals>.MyIt.close�s%�������
�
�.��!�!�*�d�B�7r"N)rr�r�r�r�ri)rrs��r�MyItr@�s���
�
�
8r"rIc3�0�K���Ed{���y7��wr�r�)rIs�rr6zOTestPEP380Operation.test_delegating_generators_claim_to_be_running.<locals>.one�s������v���r�)
rr�rTrrUrVr�rz�objectri)rr6�resr<rIrr5s`  @@@@r�.test_delegating_generators_claim_to_be_runningzBTestPEP380Operation.test_delegating_generators_claim_to_be_runningts���	�	��U������b��<�0�
�U���B�x�j��	���
�
�2�7�7�2�;�'����	��	������l�+�	�I�	�		�	��U���B�x�j��	���
�
�2�8�8�E�?�+����	��	����S�,�/���	8�6�	8�	�
�U���R��
���
s$�"A*�*	A6�5A6�<"C�	C?�)C?c����d���fd�}d�}d�}||��D]}|jd|v��|||���D]}|jd|vxrd|v��y)Nc�V�tj�D�cgc]}|d��	c}Scc}wr�)�inspect�stack)r�s r�
call_stackzMTestPEP380Operation.test_delegator_is_visible_to_debugger.<locals>.call_stack�s$��")�-�-�/�2�/�Q�A�a�D�/�2�2��2s�&c3�D�K�������������y�wr�r�)rRs�r�genzFTestPEP380Operation.test_delegator_is_visible_to_debugger.<locals>.gen�s������,���,���,��s� c3�$K�|Ed{���y7��wr�r��rWs rr�zGTestPEP380Operation.test_delegator_is_visible_to_debugger.<locals>.spam��
�����L�L�r0c3�$K�|Ed{���y7��wr�r�rVs rr�zGTestPEP380Operation.test_delegator_is_visible_to_debugger.<locals>.eggs�rWr0r�r�)rF)rrTr�r�rQrRs     @r�%test_delegator_is_visible_to_debuggerz9TestPEP380Operation.test_delegator_is_visible_to_debugger�si���	3�	�
	�	��#�%�[�E��O�O�F�e�O�,�!��$�s�u�+�&�E��O�O�F�e�O�?��%��@�'r"c�p���Gd�d����fd�}d�t|��|j�d�y)Nc��eZdZd�Zd�Zy)�?TestPEP380Operation.test_custom_iterator_return.<locals>.MyIterc��|Sr�r�r�s rr�zHTestPEP380Operation.test_custom_iterator_return.<locals>.MyIter.__iter__�r�r"c��td��rC)rVr�s rr�zHTestPEP380Operation.test_custom_iterator_return.<locals>.MyIter.__next__�s
��#�B�'�'r"N)rr�r�r�r�r�r"r�MyIterr\�s��
�
(r"r_c3�0�K���Ed{����y7��wr�r�)r_r�s��rrTz<TestPEP380Operation.test_custom_iterator_return.<locals>.gen�s�����#�X�%�C�%�r�r)r�r)rrTr_r�s  @@r�test_custom_iterator_returnz/TestPEP380Operation.test_custom_iterator_return�s2���	(�	(�
	&����S�U������b�!r"c����d���fd�}d�}t�5|�}|�}|jd�|j|�|j|�~~t�ddd�y#1swYyxYw)Nc3�K�d��y�wr�r�r�r"r�	innermostzDTestPEP380Operation.test_close_with_cleared_frame.<locals>.innermost�s	�����s�c3�8�K�d��}��Ed{���y7��wr�r�)�	outer_genrds �rrz@TestPEP380Operation.test_close_with_cleared_frame.<locals>.inner�s������I� �{�"�"�s���c3�,K�d��}|Ed{���y7��wr�r�)�	inner_gens rrz@TestPEP380Operation.test_close_with_cleared_frame.<locals>.outer�s�����I� � � �s�
��)rrUr)rrrrhrfrds     @r�test_close_with_cleared_framez1TestPEP380Operation.test_close_with_cleared_frame�s`���&	�	#�	!��\���I���I��N�N�4� ��N�N�9�%��N�N�9�%����L��\�\�s�AA.�.A7c����G�fd�d���fd�}|�}t|�d�|jd�|j�d�y)Nc�$��eZdZd�Zd�Z�fd�Zy)�HTestPEP380Operation.test_send_tuple_with_custom_generator.<locals>.MyGenc��|Sr�r�r�s rr�zQTestPEP380Operation.test_send_tuple_with_custom_generator.<locals>.MyGen.__iter__r�r"c��yrCr�r�s rr�zQTestPEP380Operation.test_send_tuple_with_custom_generator.<locals>.MyGen.__next__rDr"c�
��|�yr�r�)r�whatr�s  �rrUzMTestPEP380Operation.test_send_tuple_with_custom_generator.<locals>.MyGen.sends�����r"N)rr�r�r�r�rU)r�s�r�MyGenrls���
�
�
r"rqc3�0�K���Ed{���}y7��wr�r�)r�rqs �rrzHTestPEP380Operation.test_send_tuple_with_custom_generator.<locals>.outers����� �7�"�A�"�r�)rQrgr��)rTrUr)rrrWrqr�s   @@r�%test_send_tuple_with_custom_generatorz9TestPEP380Operation.test_send_tuple_with_custom_generator	sA���	�	�	#��G���Q����	���|������L�)r"N)%rr�r��__doc__r!r/r?rGrYrarkrtr{r�r�r�r�r�r�r�r�r�r�r�r�rrrr"r(r-r1rMrYrarirtr�r"rrrs�����.�>�:#�J*�X'�R �D'�R&�P�0-�1�f
� �"�,�@�6H�@�&!�F)�V(�T-�^�:�<�<�>4�
I�VA�*"�%�N*r"rc�H�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zy)�TestInterestingEdgeCasesc��|jt�5}t|�ddd�|jjj
�|j|jj�y#1swY�TxYwr�)r_rVrT�assertIsNone�	exceptionr�rq)r�iterator�caughts   r�assert_stop_iterationz.TestInterestingEdgeCases.assert_stop_iterations[��
�
�
�}�
-����N�.����&�*�*�0�0�1����&�*�*�6�6�7�.�
-�s�A5�5A>c�.�|jtd�S)Nz ^generator raised StopIteration$��assertRaisesRegexr&r�s r�&assert_generator_raised_stop_iterationz?TestInterestingEdgeCases.assert_generator_raised_stop_iteration$s���%�%�l�4W�X�Xr"c�.�|jtd�S)Nz!^generator ignored GeneratorExit$rr�s r�'assert_generator_ignored_generator_exitz@TestInterestingEdgeCases.assert_generator_ignored_generator_exit's���%�%�l�4X�Y�Yr"c�V�����t��t��t�����fd���fd�}|jd�5|�}|jt|���|j	�|j|�ddd�|jd�5|�}|jt|���t
�}|jt�5}|j|�ddd�|jj|�|j|jj�|j|�ddd�|jd�5|�}|jt|���t�}|j�5}|j|�ddd�|jjj|�|j|jjj�|j|�ddd�|jd�5|�}|jt|���t�}|jt�5}|j|�ddd�|jj|�|j|jj�|j|�ddd�|jd�5|�}|jt|���t�}|jt�5}|j|�ddd�|jj|�|j|jj�|j|�ddd�y#1swY��6xYw#1swY���xYw#1swY���xYw#1swY��.xYw#1swY���xYw#1swY��mxYw#1swY�� xYw#1swY��xYw#1swYyxYw)Nc3� �K��������S�wr�r���returned�
yielded_first�yielded_seconds���rrzATestInterestingEdgeCases.test_close_and_throw_work.<locals>.inner0s������� � ��O�s�c3�.�K���Ed{���S7��wr�r��rs�rrzATestInterestingEdgeCases.test_close_and_throw_work.<locals>.outer5������$�w�&�'�&�����ri�throw GeneratorExit�throw StopIteration�throw BaseException�throw Exception)rK�subTest�assertIsrTrir}rrr_rzrzryrqrVr��
BaseExceptionr��	rrrW�thrownr|rr�r�r�s	     @@@@r�test_close_and_throw_workz2TestInterestingEdgeCases.test_close_and_throw_work*s�����
�����8��	�
	(��\�\�'�
"���A��M�M�$�q�'�=�1�
�G�G�I��&�&�q�)�	#��\�\�/�
0���A��M�M�$�q�'�=�1�"�_�F��"�"�=�1�V������2��M�M�&�*�*�F�3����f�.�.�:�:�;��&�&�q�)�1��\�\�/�
0���A��M�M�$�q�'�=�1�"�_�F��<�<�>�&������?��M�M�&�*�*�6�6��?����f�.�.�:�:�F�F�G��&�&�q�)�1��\�\�/�
0���A��M�M�$�q�'�=�1�"�_�F��"�"�=�1�V������2��M�M�&�*�*�F�3����f�.�.�:�:�;��&�&�q�)�1��\�\�+�
,���A��M�M�$�q�'�=�1��[�F��"�"�9�-�������.��M�M�&�*�*�F�3����f�.�.�:�:�;��&�&�q�)�-�
,�K#�
"��2�1��	1�
0��?�>��1�
0��2�1��	1�
0��.�-��	-�
,�s��AN8�AO�O�1AO�$=O,�!O�3A.O,�:AP�<O9�AP�AP�P�AP�8O�O	�
O�O�O)	�$O,�,O6�9P	�>P�P�P	�P�P(c�	�����	�t��t��	t������	fd���fd�}|jd�5|�}|jt|���t	��|j�|j
|�ddd�|jd�5|�}|jt|���t	��t	�}|jt�5}|j|�ddd�|jj|�|j|jj�|j
|�ddd�|jd�5|�}|jt|���t	��t�}|jt�5}|j|�ddd�|jj��|j|jj|�|j|jjj�|j
|�ddd�|jd�5|�}|jt|���t	��t�}|jt�5}|j|�ddd�|jj��|j|jj|�|j|jjj�|j
|�ddd�|jd�5|�}|jt|���t	��t�}|jt�5}|j|�ddd�|jj��|j|jj|�|j|jjj�|j
|�ddd�y#1swY���xYw#1swY��uxYw#1swY��(xYw#1swY���xYw#1swY��AxYw#1swY���xYw#1swY��ZxYw#1swY��xYw#1swYyxYw)Nc3�0�K�	���������#��xYw�wr�r���raisedr�r�r�s����rrzQTestInterestingEdgeCases.test_close_and_throw_raise_generator_exit.<locals>.innerm�%�����
�#�#�$�$�����f�����	���c3�.�K���Ed{���S7��wr�r�r�s�rrzQTestInterestingEdgeCases.test_close_and_throw_raise_generator_exit.<locals>.outerur�r�rir�r�r�r�)rKr�r�rTrrrir}r_rzrzryrqrVr�r�)
rrrWr�r|rr�r�r�r�s
     @@@@@r�)test_close_and_throw_raise_generator_exitzBTestInterestingEdgeCases.test_close_and_throw_raise_generator_exitgs������
�����8��	�	(��\�\�'�
"���A��M�M�$�q�'�=�1�"�_�F�
�G�G�I��&�&�q�)�#��\�\�/�
0���A��M�M�$�q�'�=�1�"�_�F�"�_�F��"�"�=�1�V������2�

�M�M�&�*�*�F�3����f�.�.�:�:�;��&�&�q�)�1��\�\�/�
0���A��M�M�$�q�'�=�1�"�_�F�"�_�F��"�"�=�1�V������2��M�M�&�*�*�F�3��M�M�&�*�*�6�6��?����f�.�.�:�:�F�F�G��&�&�q�)�1��\�\�/�
0���A��M�M�$�q�'�=�1�"�_�F�"�_�F��"�"�=�1�V������2��M�M�&�*�*�F�3��M�M�&�*�*�6�6��?����f�.�.�:�:�F�F�G��&�&�q�)�1��\�\�+�
,���A��M�M�$�q�'�=�1�"�_�F��[�F��"�"�=�1�V������2��M�M�&�*�*�F�3��M�M�&�*�*�6�6��?����f�.�.�:�:�F�F�G��&�&�q�)�-�
,�_#�
"��2�1��1�
0��&2�1��1�
0��"2�1��1�
0��"2�1��-�
,�s��AQ-�)AR�5Q:�AR�:AR!�R�B
R!�;AR;�R.�B
R;�<AS�S�B
S�-Q7�:R	�?R�R�R	�R!�!R+�.R8	�3R;�;S�S	�
S�Sc�d�����	�t��t��	t������	fd���fd�}|jd�5|�}|jt|���t	��|j�5}|j
�ddd�|jjj��|j|jjjt�|j|jjjj�|j|�ddd�|jd�5|�}|jt|���t	��t�}|j�5}|j|�ddd�|jjj��|j|jjjt�|j|jjjj�|j|�ddd�|jd�5|�}|jt|���t	��t	�}|j�5}|j|�ddd�|jjj��|j|jjj|�|j|jjjj�|j|�ddd�|jd�5|�}|jt|���t	��t�}|j�5}|j|�ddd�|jjj��|j|jjj|�|j|jjjj�|j|�ddd�|jd�5|�}|jt|���t	��t�}|j�5}|j|�ddd�|jjj��|j|jjj|�|j|jjjj�|j|�ddd�y#1swY��#xYw#1swY���xYw#1swY��xYw#1swY���xYw#1swY��xYw#1swY���xYw#1swY��xYw#1swY���xYw#1swY��xYw#1swYyxYw)Nc3�0�K�	���������#��xYw�wr�r�r�s����rrzQTestInterestingEdgeCases.test_close_and_throw_raise_stop_iteration.<locals>.inner�r�r�c3�.�K���Ed{���S7��wr�r�r�s�rrzQTestInterestingEdgeCases.test_close_and_throw_raise_stop_iteration.<locals>.outer�r�r�rir�r�r�r�)rKr�r�rTrVr�rirzrqrprrryr}rzr�r��
rrrWr|r�rr�r�r�r�s
     @@@@@r�)test_close_and_throw_raise_stop_iterationzBTestInterestingEdgeCases.test_close_and_throw_raise_stop_iteration�s_�����
�����8��	�	(��\�\�'�
"���A��M�M�$�q�'�=�1�"�_�F��<�<�>�&����	�?��M�M�&�*�*�6�6��?��!�!�&�"2�"2�">�">�"J�"J�M�Z����f�.�.�:�:�F�F�R�R�S��&�&�q�)�#��\�\�/�
0���A��M�M�$�q�'�=�1�"�_�F�"�_�F��<�<�>�&������?��M�M�&�*�*�6�6��?�
�!�!�&�"2�"2�">�">�"J�"J�M�Z����f�.�.�:�:�F�F�R�R�S��&�&�q�)�1��\�\�/�
0���A��M�M�$�q�'�=�1�"�_�F�"�_�F��<�<�>�&������?��M�M�&�*�*�6�6��?��M�M�&�*�*�6�6�B�B�F�K����f�.�.�:�:�F�F�R�R�S��&�&�q�)�1��\�\�/�
0���A��M�M�$�q�'�=�1�"�_�F�"�_�F��<�<�>�&������?��M�M�&�*�*�6�6��?��M�M�&�*�*�6�6�B�B�F�K����f�.�.�:�:�F�F�R�R�S��&�&�q�)�1��\�\�+�
,���A��M�M�$�q�'�=�1�"�_�F��[�F��<�<�>�&������?��M�M�&�*�*�6�6��?��M�M�&�*�*�6�6�B�B�F�K����f�.�.�:�:�F�F�R�R�S��&�&�q�)�-�
,�a?�>��#�
"��$?�>��
1�
0��*?�>��
1�
0��&?�>��
1�
0��&?�>��
-�
,�s��=V>�?V1�B,V>�AW�W�.B,W�3AW2�:W%�B(W2�
AX�W?�&B(X�'AX&�.X�B(X&�1V;	�6V>�>W�W	�W�W"�%W/	�*W2�2W<�?X		�X�X�X#	�X&�&X/c�h�����	�t��t��	t������	fd���fd�}|jd�5|�}|jt|���t	��|jt�5}|j
�ddd�|jj��|j|jjt�|j|jjj�|j|�ddd�|jd�5|�}|jt|���t	��t�}|jt�5}|j|�ddd�|jj��|j|jjt�|j|jjj�|j|�ddd�|jd�5|�}|jt|���t	��t�}|jt�5}|j|�ddd�|jj��|j|jj|�|j|jjj�|j|�ddd�|jd�5|�}|jt|���t	��t	�}|jt�5}|j|�ddd�|jj��|j|jj|�|j|jjj�|j|�ddd�|jd�5|�}|jt|���t	��t�}|jt�5}|j|�ddd�|jj��|j|jj|�|j|jjj�|j|�ddd�y#1swY���xYw#1swY�� xYw#1swY���xYw#1swY��5xYw#1swY���xYw#1swY��NxYw#1swY���xYw#1swY��gxYw#1swY��xYw#1swYyxYw)Nc3�0�K�	���������#��xYw�wr�r�r�s����rrzQTestInterestingEdgeCases.test_close_and_throw_raise_base_exception.<locals>.innerr�r�c3�.�K���Ed{���S7��wr�r�r�s�rrzQTestInterestingEdgeCases.test_close_and_throw_raise_base_exception.<locals>.outerr�r�rir�r�r�r�)rKr�r�rTr�r_rirzrprqrrryr}rzrVr�r�s
     @@@@@r�)test_close_and_throw_raise_base_exceptionzBTestInterestingEdgeCases.test_close_and_throw_raise_base_exceptions�����
�����8��	�	(��\�\�'�
"���A��M�M�$�q�'�=�1�"�_�F��"�"�=�1�V����	�2��M�M�&�*�*�F�3��!�!�&�"2�"2�">�">�
�N����f�.�.�:�:�F�F�G��&�&�q�)�#��\�\�/�
0���A��M�M�$�q�'�=�1�"�_�F�"�_�F��"�"�=�1�V������2��M�M�&�*�*�F�3�
�!�!�&�"2�"2�">�">�
�N����f�.�.�:�:�F�F�G��&�&�q�)�1��\�\�/�
0���A��M�M�$�q�'�=�1�"�_�F�"�_�F��"�"�=�1�V������2��M�M�&�*�*�F�3��M�M�&�*�*�6�6��?����f�.�.�:�:�F�F�G��&�&�q�)�1��\�\�/�
0���A��M�M�$�q�'�=�1�"�_�F�"�_�F��"�"�=�1�V������2��M�M�&�*�*�F�3��M�M�&�*�*�6�6��?����f�.�.�:�:�F�F�G��&�&�q�)�1��\�\�+�
,���A��M�M�$�q�'�=�1�"�_�F��[�F��"�"�=�1�V������2��M�M�&�*�*�F�3��M�M�&�*�*�6�6��?����f�.�.�:�:�F�F�G��&�&�q�)�-�
,�[2�1��	#�
"�� 2�1��1�
0��&2�1��1�
0��"2�1��1�
0��"2�1��-�
,���AU�T4�BU�<AU�U�BU�AU5�
U(�B
U5�AV�V� B
V�AV(�V�!B
V(�4T>	�9U�U�U	�U�U%�(U2	�-U5�5U?�V	�V�V�V%	�!V(�(V1c�h�����	�t��t��	t������	fd���fd�}|jd�5|�}|jt|���t	��|jt�5}|j
�ddd�|jj��|j|jjt�|j|jjj�|j|�ddd�|jd�5|�}|jt|���t	��t�}|jt�5}|j|�ddd�|jj��|j|jjt�|j|jjj�|j|�ddd�|jd�5|�}|jt|���t	��t�}|jt�5}|j|�ddd�|jj��|j|jj|�|j|jjj�|j|�ddd�|jd�5|�}|jt|���t	��t�}|jt�5}|j|�ddd�|jj��|j|jj|�|j|jjj�|j|�ddd�|jd�5|�}|jt|���t	��t	�}|jt�5}|j|�ddd�|jj��|j|jj|�|j|jjj�|j|�ddd�y#1swY���xYw#1swY�� xYw#1swY���xYw#1swY��5xYw#1swY���xYw#1swY��NxYw#1swY���xYw#1swY��gxYw#1swY��xYw#1swYyxYw)Nc3�0�K�	���������#��xYw�wr�r�r�s����rrzLTestInterestingEdgeCases.test_close_and_throw_raise_exception.<locals>.innerZr�r�c3�.�K���Ed{���S7��wr�r�r�s�rrzLTestInterestingEdgeCases.test_close_and_throw_raise_exception.<locals>.outerbr�r�rir�r�r�r�)rKr�r�rTr�r_rirzrprqrrryr}rzrVr�r�s
     @@@@@r�$test_close_and_throw_raise_exceptionz=TestInterestingEdgeCases.test_close_and_throw_raise_exceptionTs�����
�����8��	�	(��\�\�'�
"���A��M�M�$�q�'�=�1��[�F��"�"�9�-�����	�.��M�M�&�*�*�F�3��!�!�&�"2�"2�">�">�
�N����f�.�.�:�:�F�F�G��&�&�q�)�#��\�\�/�
0���A��M�M�$�q�'�=�1��[�F�"�_�F��"�"�9�-�������.��M�M�&�*�*�F�3�
�!�!�&�"2�"2�">�">�
�N����f�.�.�:�:�F�F�G��&�&�q�)�1��\�\�/�
0���A��M�M�$�q�'�=�1��[�F�"�_�F��"�"�9�-�������.��M�M�&�*�*�F�3��M�M�&�*�*�6�6��?����f�.�.�:�:�F�F�G��&�&�q�)�1��\�\�/�
0���A��M�M�$�q�'�=�1��[�F�"�_�F��"�"�9�-�������.��M�M�&�*�*�F�3��M�M�&�*�*�6�6��?����f�.�.�:�:�F�F�G��&�&�q�)�1��\�\�+�
,���A��M�M�$�q�'�=�1��[�F��[�F��"�"�9�-�������.��M�M�&�*�*�F�3��M�M�&�*�*�6�6��?����f�.�.�:�:�F�F�G��&�&�q�)�-�
,�[.�-��	#�
"�� .�-��1�
0��&.�-��1�
0��".�-��1�
0��".�-��-�
,�r�c�L	�����t��t��t�����fd���fd�}|jd�5|�}|jt|���|j	�5}|j�ddd�|j
jj�|j|�ddd�|jd�5|�}|jt|���t�}|j	�5}|j|�ddd�|j
jj�|j|�ddd�|jd�5|�}|jt|���t�}|j|j|���|j�5}t|�ddd�|jjj|�|j
|jjj�|j|�ddd�|jd�5|�}|jt|���t�}|j|j|���|j!t�5}t|�ddd�|jj|�|j
|jj�|j|�ddd�|jd�5|�}|jt|���t#�}|j|j|���|j!t"�5}t|�ddd�|jj|�|j
|jj�|j|�ddd�y#1swY���xYw#1swY��sxYw#1swY��xYw#1swY���xYw#1swY��qxYw#1swY��xYw#1swY���xYw#1swY��HxYw#1swY��xYw#1swYyxYw)Nc3�4�K�	�������S#���wxYw�wr�r�r�s���rrzBTestInterestingEdgeCases.test_close_and_throw_yield.<locals>.inner�s&�����
%�#�#�$�$��O��%�$�s�����c3�.�K���Ed{���S7��wr�r�r�s�rrzBTestInterestingEdgeCases.test_close_and_throw_yield.<locals>.outer�r�r�rir�r�r�r�)rKr�r�rTr�riryrzrqr}rrrzrVrr�r�r_r�)	rrrWr|r�rr�r�r�s	     @@@@r�test_close_and_throw_yieldz3TestInterestingEdgeCases.test_close_and_throw_yield�sh�����
�����8��	�	(��\�\�'�
"���A��M�M�$�q�'�=�1��=�=�?�6����	�@����f�.�.�:�:�;��&�&�q�)�#��\�\�/�
0���A��M�M�$�q�'�=�1�"�_�F��=�=�?�6������@����f�.�.�:�:�;��&�&�q�)�1��\�\�/�
0���A��M�M�$�q�'�=�1�"�_�F����Q�W�W�V�_�n�=��<�<�>�&��Q��?��M�M�&�*�*�6�6��?����f�.�.�:�:�F�F�G��&�&�q�)�1��\�\�/�
0���A��M�M�$�q�'�=�1�"�_�F����Q�W�W�V�_�n�=��"�"�=�1�V��Q��2��M�M�&�*�*�F�3����f�.�.�:�:�;��&�&�q�)�1��\�\�+�
,���A��M�M�$�q�'�=�1��[�F����Q�W�W�V�_�n�=��"�"�9�-���Q��.��M�M�&�*�*�F�3����f�.�.�:�:�;��&�&�q�)�-�
,�O@�?��#�
"�� @�?��
1�
0��"?�>��
1�
0��"2�1��1�
0�� .�-��-�
,�s��3P3�3P&�>P3�=Q
�Q�*>Q
�AQ'�Q�+A.Q'�2A#R�Q4�!AR�A#R�7R�AR�&P0	�+P3�3P=�Q
	�Q
�
Q�Q$	�Q'�'Q1�4Q>	�9R�R�R	�R�R#c�t�����t��t��t�����fd���fd�}|jd�5|�}|jt|���|j	�|j|�ddd�|jd�5|�}|jt|���t
�}|jt�5}|j|�ddd�|jj|�|j|jj�|j|�ddd�|jd�5|�}|jt|���t�}|jt�5}|j|�ddd�|jjj��|j|jj�|j|�ddd�|jd�5|�}|jt|���t�}|jt�5}|j|�ddd�|jjj��|j|jj�|j|�ddd�|jd�5|�}|jt|���t�}|jt�5}|j|�ddd�|jjj��|j|jj�|j|�ddd�y#1swY��ExYw#1swY���xYw#1swY���xYw#1swY��8xYw#1swY���xYw#1swY���xYw#1swY��*xYw#1swY��xYw#1swYyxYw)Nc3�6�K�	�������S#�ccYSxYw�wr�r�r�s���rrzCTestInterestingEdgeCases.test_close_and_throw_return.<locals>.inner�s"�����
 �#�#�$�$����x��s�����c3�.�K���Ed{���S7��wr�r�r�s�rrzCTestInterestingEdgeCases.test_close_and_throw_return.<locals>.outer�r�r�rir�r�r�r�)rKr�r�rTrir}rrr_rzrzryrqrVr�r�r�r�s	     @@@@r�test_close_and_throw_returnz4TestInterestingEdgeCases.test_close_and_throw_return�s�����
�����8��	 �	(��\�\�'�
"���A��M�M�$�q�'�=�1�
�G�G�I��&�&�q�)�
#��\�\�/�
0���A��M�M�$�q�'�=�1�"�_�F��"�"�=�1�V������2��M�M�&�*�*�F�3����f�.�.�:�:�;��&�&�q�)�1��\�\�/�
0���A��M�M�$�q�'�=�1�"�_�F��"�"�=�1�V������2��M�M�&�*�*�0�0�(�;����f�.�.�:�:�;��&�&�q�)�1��\�\�/�
0���A��M�M�$�q�'�=�1�"�_�F��"�"�=�1�V������2��M�M�&�*�*�0�0�(�;����f�.�.�:�:�;��&�&�q�)�1��\�\�+�
,���A��M�M�$�q�'�=�1��[�F��"�"�=�1�V������2��M�M�&�*�*�0�0�(�;����f�.�.�:�:�;��&�&�q�)�-�
,�Q#�
"��2�1��
1�
0�� 2�1��	1�
0��2�1��	1�
0��2�1��	-�
,�s��AO�AO!�O�1AO!�$AO;�&O.�8A$O;�5AP�7P�	A$P�AP.�P"�A$P.�O�O	�O!�!O+�.O8	�3O;�;P�P	�
P�P�"P+	�'P.�.P7N)
rr�r�r}r�r�r�r�r�r�r�r�r�r�r"rrwrwsB��8�Y�Z�;*�zJ*�XQ*�fL*�\L*�\E*�N@*r"rw�__main__)ru�unittestrP�test.supportrrr�testr�TestCaserrwr�mainr�r"r�<module>r�s_�����@�@��J*�(�+�+�J*�X M*�x�0�0�M*�`�z���H�M�M�O�r"

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