403Webshell
Server IP : 121.121.20.254  /  Your IP : 216.73.216.202
Web Server : Microsoft-IIS/10.0
System : Windows NT WEB-SERVER 10.0 build 20348 (Windows Server 2022) AMD64
User : IUSR ( 0)
PHP Version : 8.3.28
Disable Function : NONE
MySQL : ON  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  C:/Python313/Lib/test/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : C:/Python313/Lib/test/__pycache__/test_contextlib.cpython-313.pyc
�

��i������SrSSKrSSKrSSKrSSKrSSKrSSKrSSKrSSK7 SSK	J
r
 SSKJr SSK
Jr SSKr"SS\R 5r"S	S
\R 5r"SS\R 5r"S
S\R 5r"SS\R 5r"SS\R 5r"SS\5r"SS\R 5r"SS5r"SS\\R 5r"SS5r"SS\\R 5r"SS \\R 5r"S!S"\\R 5r"S#S$\R 5r \!S%:Xa\RD"5 gg)&z9Unit tests for contextlib.py, and other context managers.�N)�*)�support)�	os_helper)�ExceptionIsLikeMixinc�,�\rSrSrSrSrSrSrSrg)�TestAbstractContextManager�c�p�"SS[5nU"5nURUR5U5 g)Nc�(^�\rSrSrU4SjrSrU=r$)�;TestAbstractContextManager.test_enter.<locals>.DefaultEnter�c� >�[TU]"U6 g�N��super�__exit__��self�args�	__class__s  ��)C:\Python313\\Lib\test\test_contextlib.pyr�DTestAbstractContextManager.test_enter.<locals>.DefaultEnter.__exit__������ �$�'����__name__�
__module__�__qualname__�__firstlineno__r�__static_attributes__�
__classcell__�rs@r�DefaultEnterr�
���
(�
(rr$)�AbstractContextManager�assertIs�	__enter__)rr$�managers   r�
test_enter�%TestAbstractContextManager.test_enters/��	(�1�	(��.���
�
�g�'�'�)�7�3rc��"SS[5nUR[5 SU"5lSSS5 g!,(df   g=f)Nc�,^�\rSrSrSrU4SjrSrU=r$)�DTestAbstractContextManager.test_slots.<locals>.DefaultContextManager�rc� >�[TU]"U6 grrrs  �rr�MTestAbstractContextManager.test_slots.<locals>.DefaultContextManager.__exit__rr)rrrr �	__slots__rr!r"r#s@r�DefaultContextManagerr.s����I�
(�
(rr3�*)r&�assertRaises�AttributeError�var)rr3s  r�
test_slots�%TestAbstractContextManager.test_slotss7��	(�$:�	(��
�
�~�
.�*,�!�#�'�/�
.�
.�s	�
;�
A	c��"SS[5nUR[5 U"5 SSS5 g!,(df   g=f)Nc��\rSrSrSrg)�ETestAbstractContextManager.test_exit_is_abstract.<locals>.MissingExit�&rN�rrrr r!rrr�MissingExitr<&���rr?)r&r5�	TypeError)rr?s  r�test_exit_is_abstract�0TestAbstractContextManager.test_exit_is_abstract%s0��	�0�	��
�
�y�
)��M�*�
)�
)�s	�6�
Ac�Z�"SS5nUR[U[55 "SS[5nUR[U[55 "SSU5nUR[U[55 "SSU5nUR[U[55 g)	Nc� �\rSrSrSrSrSrg)�RTestAbstractContextManager.test_structural_subclassing.<locals>.ManagerFromScratch�-c��U$rr�rs rr(�\TestAbstractContextManager.test_structural_subclassing.<locals>.ManagerFromScratch.__enter__.����rc��grr)r�exc_type�	exc_value�	tracebacks    rr�[TestAbstractContextManager.test_structural_subclassing.<locals>.ManagerFromScratch.__exit__0s��rrN�rrrr r(rr!rrr�ManagerFromScratchrF-s��
�
rrRc�(^�\rSrSrU4SjrSrU=r$)�LTestAbstractContextManager.test_structural_subclassing.<locals>.DefaultEnter�5c� >�[TU]"U6 grrrs  �rr�UTestAbstractContextManager.test_structural_subclassing.<locals>.DefaultEnter.__exit__6rrrrr#s@rr$rT5r%rr$c��\rSrSrSrSrg)�GTestAbstractContextManager.test_structural_subclassing.<locals>.NoEnter�;Nr�rrrr r(r!rrr�NoEnterrY;s���Irr\c��\rSrSrSrSrg)�FTestAbstractContextManager.test_structural_subclassing.<locals>.NoExit�@Nr�rrrr rr!rrr�NoExitr^@s���Hrra)�
assertTrue�
issubclassr&�assertFalse)rrRr$r\ras     r�test_structural_subclassing�6TestAbstractContextManager.test_structural_subclassing,s���	�	�	
���
�#5�7M�N�O�	(�1�	(�	
���
�<�1G�H�I�	�(�	�	
����G�-C�D�E�	�'�	�	
����F�,B�C�DrrN)	rrrr r*r8rBrer!rrrrrs��4�-��Errc���\rSrSrSrSrSrSrSrSr	Sr
S	rS
rSr
SrS
rSrSrSr\R(S5r\R(S5rSrSrSrSrSrg)�ContextManagerTestCase�Fc�^�/m[U4Sj5nU"5nURTS/5 URUS5 TRU5 SSS5 URT/SQ5 g!,(df   N#=f)Nc3�Z># �TRS5 Sv� TRS5 g7f�N�r4����append��states�r�woohoo�@ContextManagerTestCase.test_contextmanager_plain.<locals>.woohooJs"�����L�L��O��H��L�L�����(+rmr4�rmr4rn)�contextmanager�assertEqualrp�rrs�xrrs   @r�test_contextmanager_plain�0ContextManagerTestCase.test_contextmanager_plainHso�����	�	�
�	��X�����U�Q�C�(����Q��#��L�L��O��	
�����-�	�X�s�7A.�.
A<c�d^�/m[U4Sj5nUR[5 U"5nURTS/5 URUS5 TR	U5 [5e!,(df   O=fSSS5 O!,(df   O=fURT/SQ5 g)Nc3�># �TRS5 Sv� TRS5 g!TRS5 f=f7frlrorqs�rrs�BContextManagerTestCase.test_contextmanager_finally.<locals>.woohooWs3�����L�L��O�
"������S�!�����S�!�s�A�,�A�?�Armr4rv)rwr5�ZeroDivisionErrorrxrprys   @r�test_contextmanager_finally�2ContextManagerTestCase.test_contextmanager_finallyUs������	�	"�
�	"��
�
�0�
1���Q�� � ����,�� � ��B�'����Q��'�)�)�	����2�
1�
1��	
�����-s�B�AA1�1
A?	�;B�
Bc�r�[S5nU"5 SS- SSS5 UR[
W5S5 URUSRS5 URUSRS5 "SS[5nU"5 U"S5e!,(df   N�=f![a*n[R"UR5nSnAN�SnAff=f!,(df   O6=f!Ua*n[R"UR5nSnAOSnAff=fUR[
U5S5 URUSRS5 URUSRS	5 "S
S[5n[S5U"S54GHnUR[U5S
9 U"5 Ue!,(df   O=fURUS35 OM![U5a;nURX&5 [R"UR5nSnAOSnAff=fUR[
U5S5 URUSRS5 URUSRS5 SSS5 GM!,(df   GM=f g)Nc3�# �Sv� g7frrrrr�f�?ContextManagerTestCase.test_contextmanager_traceback.<locals>.fg�������rmr�test_contextmanager_traceback�1/0c��\rSrSrSrg)�RContextManagerTestCase.test_contextmanager_traceback.<locals>.RuntimeErrorSubclass�vrNr>rrr�RuntimeErrorSubclassr�vr@rr�r4zraise RuntimeErrorSubclass(42)c��\rSrSrSrg)�SContextManagerTestCase.test_contextmanager_traceback.<locals>.StopIterationSubclass�rNr>rrr�StopIterationSubclassr��r@rr��spam��type� was suppressedzraise stop_exc)rwr�rO�
extract_tb�
__traceback__rx�len�name�line�RuntimeError�
StopIteration�subTestr��failr')rr��e�framesr�r��stop_excs       rr��4ContextManagerTestCase.test_contextmanager_tracebackfs+��	�	�
�	�	;����!���
	
����V��a�(���������)H�I����������/�	�<�	�	;���*�2�.�.���� �	;��)�)�!�/�/�:�F��	;�����#�	;��)�)�!�/�/�:�F��	;��	
����V��a�(���������)H�I���������)I�J�	�M�	�
�&�!�!�&�)�
�H����4��>��2�<���&�������I�I��
�/�:�;��	�H�~�C��M�M�!�.�&�1�1�!�/�/�B�F��C��� � ��V��a�0�� � ������1P�Q�� � ������1A�B�3�2�2�2��	
s��B-�B�B-�C5�	C$�
B*�&B-�*B-�-
C!�7 C�C!�$
C2�.C5�2C5�5D%�; D � D%�?J#�G2�G�
G�G2�J#�2H<�1H7�2J#�7H<�<AJ#�#
J3	c��[S5nU"5nUR5 URUR[[	S5S55 g)Nc3�# �Sv� g7frrrrr�whee�CContextManagerTestCase.test_contextmanager_no_reraise.<locals>.whee�r�r��foo)rwr(rdrrA)rr��ctxs   r�test_contextmanager_no_reraise�5ContextManagerTestCase.test_contextmanager_no_reraise�sD��	�	�
�	��f���
�
��������i��5�1A�4�H�Irc�f�[S5nU"5nUR5 UR[5 UR	[
[S5S5 SSS5 [R"SS9(a&URURR5 gg!,(df   NN=f)Nc3�,# �Sv� g! Sv� g=f7frrrrr�whoo�OContextManagerTestCase.test_contextmanager_trap_yield_after_throw.<locals>.whoo�s���
���
��s��	���r�T��cpython)rwr(r5r�rrAr�check_impl_detailrd�gen�gi_suspended�rr�r�s   r�*test_contextmanager_trap_yield_after_throw�AContextManagerTestCase.test_contextmanager_trap_yield_after_throw�s���	�	�
�	�
�f���
�
��
�
�
�|�
,��L�L��I�e�$4�d�;�-��$�$�T�2����S�W�W�1�1�2�3�-�
,�s�!B"�"
B0c��[S5nU"5nUR[5 UR5 SSS5 g!,(df   g=f)Nc3�# �g7frrrrrr��FContextManagerTestCase.test_contextmanager_trap_no_yield.<locals>.whoo�s����s�)rwr5r�r(r�s   r�!test_contextmanager_trap_no_yield�8ContextManagerTestCase.test_contextmanager_trap_no_yield�s@��	�	�
�	��f��
�
�
�|�
,��M�M�O�-�
,�
,�s�A�
Ac�L�[S5nU"5nUR5 UR[5 UR	SSS5 SSS5 [
R"SS9(a&URURR5 gg!,(df   NN=f)Nc3�# �Sv� Sv� g7frrrrrr��JContextManagerTestCase.test_contextmanager_trap_second_yield.<locals>.whoo�s�����s�
Tr�)
rwr(r5r�rrr�rdr�r�r�s   r�%test_contextmanager_trap_second_yield�<ContextManagerTestCase.test_contextmanager_trap_second_yield�s}��	�	�
�	��f���
�
��
�
�
�|�
,��L�L��t�T�*�-��$�$�T�2����S�W�W�1�1�2�3�-�
,�s�B�
B#c���[S5nU"5nUR5 UR[5 UR	[
SS5 SSS5 g!,(df   g=f)Nc3�># �Sv� g![a [ef=f7fr)r��SyntaxErrorrrrr��GContextManagerTestCase.test_contextmanager_non_normalised.<locals>.whoo�s!���
"����
"�!�!�
"�s��	���)rwr(r5r�rr�r�s   r�"test_contextmanager_non_normalised�9ContextManagerTestCase.test_contextmanager_non_normalised�sP��	�	"�
�	"��f���
�
��
�
�
�{�
+��L�L��t�T�2�,�
+�
+�s�A�
A(c�^^�/m[UU4Sj5nU"5nTRTS/5 TRUS5 TRU5 [S5e!,(df   O=fTRT/SQ5 g)Nc3��># �TRS5 Sv� g![a<nTRURS5 TRT/SQ5 SnAgSnAff=f7f)Nrmr4rrv)rpr�rrx)r�rrrs ��rrs�AContextManagerTestCase.test_contextmanager_except.<locals>.woohoo�sQ�����L�L��O�
6����$�
6����Q�V�V�A�Y�'�� � ���5�5��
6�s*�A$��A$�
A!�2A�A$�A!�!A$rmr4rnrv)rwrxrpr�rys`  @r�test_contextmanager_except�1ContextManagerTestCase.test_contextmanager_except�su�����	�	6�
�	6��X�����U�Q�C�(����Q��#��L�L��O�#�C�(�(�	�X��
	
�����-s�AA�
A,c��[S5n"SS[5n[S5U"S54H%nUR[U5S9 U"5 Ue g!,(df   O=fUR	US35 O(![
anUR
XC5 SnAOSnAff=fSSS5 M�!,(df   M�=f)Nc3�# �Sv� g7frrrrrrs�JContextManagerTestCase.test_contextmanager_except_stopiter.<locals>.woohoo�r�r�c��\rSrSrSrg)�YContextManagerTestCase.test_contextmanager_except_stopiter.<locals>.StopIterationSubclass��rNr>rrrr�r��r@rr�r�r�r�)rwr�r�r�r��	Exceptionr')rrsr�r��exs     r�#test_contextmanager_except_stopiter�:ContextManagerTestCase.test_contextmanager_except_stopiter�s���	�	�
�	�	�M�	�'�v�.�0E�f�0M�N�H����4��>��2�<���&��	O�"����
�I�I��
�/�:�;��!�0��M�M�"�/�/��0��	3�2�2�2�sH�
B2�B�A�
A'�#B�+B2�
B%�
B �B2� B%�%B2�2
C	c���Sn0n[XU5 USn[S5nU"5 Ue!,(df   O=fURS5 g![anUR	XT5 SnAgSnAff=f)Nztfrom __future__ import generator_stop
from contextlib import contextmanager
@contextmanager
def woohoo():
    yield
rsr�zStopIteration was suppressed)�execr�r�r�r')r�code�localsrsr�r�s      r�!test_contextmanager_except_pep479�8ContextManagerTestCase.test_contextmanager_except_pep479�sw�������T�6�"���!�� ��(��	6���������

�I�I�4�5���	(��M�M�"�'�'��	(�s$�A�,�
:�A�
A5�A0�0A5c�n�[S5nU"5 [e!,(df   Ox=f![ahnUR[	U5[
5 UR
URSS5 URUR[5 SnAOSnAff=fU"5 [S5e!,(df   g=f![acnUR[	U5[5 UR
URSS5 URUR5 SnAgSnAff=f)Nc3�R# �Sv� g![an[S5UeSnAff=f7f)N�issue29692:Chained�r�r���excs r�test_issue29692�oContextManagerTestCase.test_contextmanager_do_not_unchain_non_stopiteration_exceptions.<locals>.test_issue29692s-���
B����
B�"�#7�8�c�A��
B�s�'�	�'�
$��$�'rr�zissue29692:Unchained)rwr�r�r'r�r�rxr�assertIsInstance�	__cause__r��assertIsNone)rr�r�s   r�?test_contextmanager_do_not_unchain_non_stopiteration_exceptions�VContextManagerTestCase.test_contextmanager_do_not_unchain_non_stopiteration_exceptionss���	�	B�
�	B�
	C� �"�'�'�#�"���	C��M�M�$�r�(�L�1����R�W�W�Q�Z�)=�>��!�!�"�,�,�0A�B�B��	C��
	,� �"�#�$:�;�;�#�"���	,��M�M�$�r�(�M�2����R�W�W�Q�Z�)?�@����b�l�l�+�+��	,�sV�-��
*�-�-�
B�AB�B�#C�*B6�6
C�C�C�
D4�AD/�/D4c�d�[S5nUR[5 U"5 SS- SSS5 SSS5 UR[5 U"5 [e!,(df   N:=f!,(df   NC=f!,(df   O=fSSS5 g!,(df   g=f)Nc3�X# �Sv� g![an[SU35UeSnAff=f7f)Nzcaught r�r�s rrs�LContextManagerTestCase.test_contextmanager_wrap_runtimeerror.<locals>.woohoo#s/���
=����
=�"�W�S�E�?�3��<��
=�s�*�	�*�
'�"�'�*rmr)rwr5r�r��rrss  r�%test_contextmanager_wrap_runtimeerror�<ContextManagerTestCase.test_contextmanager_wrap_runtimeerror"s|��	�	=�
�	=��
�
�|�
,����A���-��
�
�}�
-���#�#����-�
,������.�
-�
-�s?�A5�A$�A5�B!�B�$
A2	�.A5�5
B�
B	�B!�!
B/c�6�Sn[U"SS9S55nU$)Nc�^�U4SjnU$)Nc�R>�TR5Hup[XU5 M U$r)�items�setattr)�func�k�v�kws   �r�decorate�XContextManagerTestCase._create_contextmanager_attribs.<locals>.attribs.<locals>.decorate7s$����8�8�:�C�A��D�1�%�&��rr)r�r�s` r�attribs�FContextManagerTestCase._create_contextmanager_attribs.<locals>.attribs6s���
��Or�bar)r�c3�# �Sv� g7f)�Whee!Nr)r�s r�baz�BContextManagerTestCase._create_contextmanager_attribs.<locals>.baz<s
���
�r��rw)rr�rs   r�_create_contextmanager_attribs�5ContextManagerTestCase._create_contextmanager_attribs5s/��	�
�	�U�	�	�
�
�	��
rc��UR5nURURS5 URURS5 g)Nrr�)rrxrr��rrs  r�test_contextmanager_attribs�2ContextManagerTestCase.test_contextmanager_attribsCs8���1�1�3��������e�,�������%�(rc�\�UR5nURURS5 g�Nr��rrx�__doc__rs  r�test_contextmanager_doc_attrib�5ContextManagerTestCase.test_contextmanager_doc_attribHs$���1�1�3��������g�.rc�h�UR5"S5nURURS5 gr
rrs  r�*test_instance_docstring_given_cm_docstring�AContextManagerTestCase.test_instance_docstring_given_cm_docstringMs)���1�1�3�D�9��������g�.rc��[S5nU"SSSSS9nURUS5 SSS5 g!,(df   g=f)Nc3�# �XX#4v� g7frr�rr�r�kwdss    rrs�4ContextManagerTestCase.test_keywords.<locals>.woohooTs����t�*�*�s�
���!�,r)rrrr�rwrx)rrs�targets   r�
test_keywords�$ContextManagerTestCase.test_keywordsRsA��	�	+�
�	+�
��"�2�B�
7�6����V�%5�6�8�
7�
7�s	�2�
Ac�^�"SS5n[U4Sj5nU"U"5U"5S9 SSS5 g!,(df   g=f)Nc��\rSrSrSrg)�0ContextManagerTestCase.test_nokeepref.<locals>.Ai[rNr>rrr�Ar![r@rr"c3��># �[R"U5n[R"U5n[R"5 TR	U"55 TR	U"55 Sv� g7fr)�weakref�refr�
gc_collectr�)�a�brs  �rrs�5ContextManagerTestCase.test_nokeepref.<locals>.woohoo^sO�������A��A����A��A���� ����a�c�"����a�c�"��s�A3A6�r(r)rr"rss`  r�test_nokeepref�%ContextManagerTestCase.test_nokeeprefZs@���	�	�
�	�
�	��A�C�1�3�
�� �
�
�s	�7�
Ac�b�[S5nUR[5 U"5 SSS5 UR[5 U"SS5 SSS5 UR[5 U"SS9 SSS5 g!,(df   NZ=f!,(df   ND=f!,(df   g=f)Nc3�# �Sv� g7frr�r'r(s  rrs�8ContextManagerTestCase.test_param_errors.<locals>.woohoolr�r���r*)rwr5rAr�s  r�test_param_errors�(ContextManagerTestCase.test_param_errorsks~��	�	�
�	��
�
�y�
)��H�*�
�
�
�y�
)��1�a�L�*�
�
�
�y�
)��Q�K�*�
)�	*�
)��
)�
)��
)�
)�s#�A>�
B�.B �>
B�
B� 
B.c�^^^^�SmSm[UUU4Sj5nU"5UU4Sj5mT"5 TRTS5 TRTS5 g)Nrc3�\># �TS-
mTnTS-
mSv� TS-mTRTU5 g7f�Nrm)rx)�before�depth�ncolsrs ���rrs�5ContextManagerTestCase.test_recursive.<locals>.woohoozs;����
�Q�J�E��F��Q�J�E���Q�J�E����U�F�+�s�),c�">�TS:aT"5 gg)N�
r)r9�	recursives��rr>�8ContextManagerTestCase.test_recursive.<locals>.recursive�s����r�z���rr=r)rrsr9r:r>s` @@@r�test_recursive�%ContextManagerTestCase.test_recursivews\�������	�	,�
�	,�
��	�
�	�	�������#������"rrN)rrrr r{r�r�r�r�r�r�r�r�r�r�r�r�rrr�requires_docstringsr
rrr+r3r@r!rrrrhrhFs���.�.�"0C�dJ�
3��3�3�.�"<�$6�*,�.$�&�)�

� � �/�!�/�
� � �/�!�/�7��"
�#rrhc�D�\rSrSr\R
S5rSrSrSr	g)�ClosingTestCasei�c�r�[Rn[S5nURURU5 gr)�closingrrx�r�cm_docstring�objs   r�test_instance_docs�"ClosingTestCase.test_instance_docs�s*�������d�m��������l�3rc��^�/m"U4SjS5nU"5nURT/5 [U5nURX#5 SSS5 URTS/5 g!,(df   N"=f)Nc�">�\rSrSrU4SjrSrg)�'ClosingTestCase.test_closing.<locals>.Ci�c�(>�TRS5 gr7ro�rrrs �r�close�-ClosingTestCase.test_closing.<locals>.C.close��������Q�rrN�rrrr rQr!rqs�r�CrN��
���
 �
 rrUrm)rxrF�rrUrz�yrrs    @r�test_closing�ClosingTestCase.test_closing�sa�����	 �	 �
�C�������#�
�Q�Z�1����Q�"��������$��Z�s�A#�#
A1c�P^�/m"U4SjS5nU"5nURT/5 UR[5 [U5nURX#5 SS- SSS5 SSS5 URTS/5 g!,(df   N*=f!,(df   N3=f)Nc�">�\rSrSrU4SjrSrg)�-ClosingTestCase.test_closing_error.<locals>.Ci�c�(>�TRS5 gr7rorPs �rrQ�3ClosingTestCase.test_closing_error.<locals>.C.close�rSrrNrTrqs�rrUr]�rVrrUrmr)rxr5r�rFrWs    @r�test_closing_error�"ClosingTestCase.test_closing_error�s������	 �	 �
�C�������#�
�
�
�0�
1����q�� � ��&��A���2�	
������$����2�
1�s#�B�B�"B�
B	�B�
B%rN)
rrrr rrBrJrYr`r!rrrrDrD�s$��� � �4�!�4�	%�%rrDc��\rSrSrSrSrg)�NullcontextTestCasei�c��"SS5nU"5n[U5nURX25 SSS5 g!,(df   g=f)Nc��\rSrSrSrg)�/NullcontextTestCase.test_nullcontext.<locals>.Ci�rNr>rrrrUrf�r@rrU)�nullcontextr')rrU�c�c_ins    r�test_nullcontext�$NullcontextTestCase.test_nullcontext�s2��	�	�
�C��
��^�t��M�M�$�"��^�^�s	�8�
ArN)rrrr rjr!rrrrcrc�s��#rrcc��\rSrSrSrSrg)�FileContextTestCasei�c���[R"5n[USSS9nURUR5 URS5 SSS5 UR
WR5 UR[5 [USSS9nURUR5 URUR5S5 SS- SSS5 SSS5 UR
UR5 [R"U5 g!,(df   N�=f!,(df   NY=f!,(df   Nb=f![R"U5 f=f)N�wzutf-8)�encodingzBooh
�rrmr)
�tempfile�mktemp�openrd�closed�writerbr5r�rx�readr�unlink)r�tfnr�s   r�testWithOpen� FileContextTestCase.testWithOpen�s����o�o���	"��c�3��1�Q�� � ����*�����!�2�
�O�O�A�H�H�%��"�"�#4�5��#�s�W�5���$�$�Q�X�X�.��$�$�Q�V�V�X�x�8���E�6�6�

�O�O�A�H�H�%����S�!�2�1��
6�5��6�5��
���S�!�sS�E	�-D�8E	�D8�AD'�D8�#E	�
D$� E	�'
D5	�1D8�8
E�E	�	E!rN)rrrr rzr!rrrrmrm�s��"rrmc�8�\rSrSrSrSrSrSrSrSr	Sr
g	)
�LockContextTestCasei�c��URU"55 U URU"55 SSS5 URU"55 UR[5 U URU"55 SS- SSS5 SSS5 URU"55 g!,(df   N=f!,(df   N>=f!,(df   NG=f�Nrmr)rdrbr5r�)r�lock�lockeds   r�boilerPlate�LockContextTestCase.boilerPlate�s��������"�
��O�O�F�H�%�������"�
�
�
�0�
1�������)��A���2�	
�����"��T�����2�
1�s/�B)�#C�&B:�C�)
B7�:
C	�C�
Cc�d�[R"5nURXR5 gr)�	threading�Lockr�r��rr�s  r�testWithLock� LockContextTestCase.testWithLock�s ���~�~�������{�{�+rc�d�[R"5nURXR5 gr)r��RLockr��	_is_ownedr�s  r�
testWithRLock�!LockContextTestCase.testWithRLock�s ����� ������~�~�.rc�`^�[R"5mU4SjnURTU5 g)Nc�$>�TR5$r)r��r�s�rr��5LockContextTestCase.testWithCondition.<locals>.locked�s����>�>�#�#r)r��	Conditionr��rr�r�s  @r�testWithCondition�%LockContextTestCase.testWithCondition�s&����"�"�$��	$�����v�&rc�`^�[R"5mU4SjnURTU5 g)Nc�T>�TRS5(aTR5 gg�NFT��acquire�releaser�s�rr��5LockContextTestCase.testWithSemaphore.<locals>.locked��!����|�|�E�"�"������r)r��	Semaphorer�r�s  @r�testWithSemaphore�%LockContextTestCase.testWithSemaphore�s(����"�"�$��	�	
����v�&rc�`^�[R"5mU4SjnURTU5 g)Nc�T>�TRS5(aTR5 ggr�r�r�s�rr��<LockContextTestCase.testWithBoundedSemaphore.<locals>.locked�r�r)r��BoundedSemaphorer�r�s  @r�testWithBoundedSemaphore�,LockContextTestCase.testWithBoundedSemaphore�s(����)�)�+��	�	
����v�&rrN)rrrr r�r�r�r�r�r�r!rrrr}r}�s ��	#�,�/�'�'�'rr}c�0�\rSrSrSrSrSrSrSrSr	Sr
g)�	mycontexti�z9Example decoration-compatible context manager for testingFNc��SUlU$�NT��startedrIs rr(�mycontext.__enter__s������rc�&�XlUR$r)r��catch�rr�s  rr�mycontext.__exit__s�����z�z�r�r�r�)rrrr rr�r�r�r(rr!rrrr�r��s��C��G�
�C��E��rr�c�n�\rSrSr\R
S5rSrSrSr	Sr
SrSrS	r
S
rSrSrg
)�TestContextDecoratoric�p�[Rn[5nURURU5 gr)r�rrxrGs   rrJ�'TestContextDecorator.test_instance_docs
s*��!�(�(���k��������l�3rc���[5nUnURX!5 URUR5 SSS5 UR	UR
S5 g!,(df   N+=f)N�NNN)r�r'rbr�rxr�)r�context�results   r�test_contextdecorator�*TestContextDecorator.test_contextdecoratorsN���+��
���M�M�&�*��O�O�G�O�O�,��	
������&8�9�	�W�s�-A�
A-c��[5nUR[S5 U [S5e!,(df   O=fSSS5 O!,(df   O=fURUR5 URURS[5 [5nSUlU [S5e!,(df   O=fURUR5 URURS[5 g)Nr�rT)r��assertRaisesRegex�	NameError�assertIsNotNoner�r'r�)rr�s  r�$test_contextdecorator_with_exception�9TestContextDecorator.test_contextdecorator_with_exceptions����+��
�
#�
#�I�u�
5����&�&�����6�
5�
5��	
���W�[�[�)��
�
�g�k�k�!�n�i�0��+����
�
��E�"�"��W�����W�[�[�)��
�
�g�k�k�!�n�i�0s$�A�0�
>	�A�
A�-B9�9
Cc�z^^�[5mTUU4Sj5nU"5 TRTRS5 g)Nc�r>�TRTR5 TRTR5 gr�r�r�rbr��r�rs��r�test�1TestContextDecorator.test_decorator.<locals>.test1�%������g�k�k�*��O�O�G�O�O�,rr�)r�rxr��rr�r�s` @r�test_decorator�#TestContextDecorator.test_decorator.s8����+��	�	-�
�	-�	
��������&8�9rc�^^�[5mTUU4Sj5nTR[S5 U"5 SSS5 TRTR5 TRTRS[5 g!,(df   NM=f)Nc�>�TRTR5 TRTR5 [	S5e)Nr�)r�r�rbr�r�r�s��rr��@TestContextDecorator.test_decorator_with_exception.<locals>.test<s0������g�k�k�*��O�O�G�O�O�,��E�"�"rr�r)r�r�r�r�r�r'r�s` @r�test_decorator_with_exception�2TestContextDecorator.test_decorator_with_exception9si����+��	�	#�
�	#�
�
#�
#�I�u�
5��F�6����W�[�[�)��
�
�g�k�k�!�n�i�0�6�
5�s�A>�>
Bc�^�[5m"U4SjS[5nU"5nURSS5 URURS5 URUR
S5 URURS5 U"5nURSSS5 URURS5 URUR
S5 URURS5 U"5nURSSS9 URURS5 URUR
S5 g)	Nc�,>�\rSrSrYSSj5rSrg)�9TestContextDecorator.test_decorating_method.<locals>.TestiKNc�(�XlX lX0lgr�r'r(rh)rr'r(rhs    r�method�@TestContextDecorator.test_decorating_method.<locals>.Test.methodMs�������rr�r)rrrr r�r!)r�s�r�Testr�Ks���
�
��
rr�rm�r'r(rhr/)r��objectr�rxr'r(rh)rr�r�r�s   @r�test_decorating_method�+TestContextDecorator.test_decorating_methodHs�����+��	�6�	��v�����A�q���������#��������#��������&��v�����C��c�"��������%��������%��������%��v�����a�1����������#��������#rc���"SS[5nUR[S5 U"5 SSS5 SSS5 g!,(df   N=f!,(df   g=f)Nc� �\rSrSrSrSrSrg)�7TestContextDecorator.test_typo_enter.<locals>.mycontextigc��grrrIs r�	__unter__�ATestContextDecorator.test_typo_enter.<locals>.mycontext.__unter__h���rc��grrr�s  rr�@TestContextDecorator.test_typo_enter.<locals>.mycontext.__exit__jr�rrN)rrrr r�rr!rrrr�r�g���
�
rr��the context manager��ContextDecoratorr�rA�rr�s  r�test_typo_enter�$TestContextDecorator.test_typo_enterfsH��	�(�	��
#�
#�I�/D�
E�����F�
E����F�
E��!�A�A�A�
A	�A�
A c���"SS[5nUR[S5 U"5 SSS5 SSS5 g!,(df   N=f!,(df   g=f)Nc� �\rSrSrSrSrSrg)�6TestContextDecorator.test_typo_exit.<locals>.mycontextisc��grrrIs rr(�@TestContextDecorator.test_typo_exit.<locals>.mycontext.__enter__tr�rc��grrr�s  r�__uxit__�?TestContextDecorator.test_typo_exit.<locals>.mycontext.__uxit__vr�rrN)rrrr r(r�r!rrrr�r�sr�rr�zthe context manager.*__exit__r�r�s  r�test_typo_exit�#TestContextDecorator.test_typo_exitrsH��	�(�	��
#�
#�I�/N�
O�����P�
O����P�
O�r�c�^^�"SS[5n"SSU[5nU"5mTUU4Sj5nU"5 TRTRS5 g)Nc�(�\rSrSrSrSrSrSrSrg)�HTestContextDecorator.test_contextdecorator_as_mixin.<locals>.somecontextiFNc��SUlU$r�r�rIs rr(�RTestContextDecorator.test_contextdecorator_as_mixin.<locals>.somecontext.__enter__�s��#����rc��Xlgrr�r�s  rr�QTestContextDecorator.test_contextdecorator_as_mixin.<locals>.somecontext.__exit__�����rr�)	rrrr r�r�r(rr!rrr�somecontextr�s���G��C�
�
rrc��\rSrSrSrg)�FTestContextDecorator.test_contextdecorator_as_mixin.<locals>.mycontexti�rNr>rrrr�r�r@rr�c�r>�TRTR5 TRTR5 grr�r�s��rr��ATestContextDecorator.test_contextdecorator_as_mixin.<locals>.test�r�rr�)r�r�rxr�)rrr�r�r�s`   @r�test_contextdecorator_as_mixin�3TestContextDecorator.test_contextdecorator_as_mixin~sU���		�&�		�	��%5�	��+��	�	-�
�	-�	
��������&8�9rc��^^�[U4Sj5n/mU"S5UU4Sj5nU"S5 TRT/SQ5 /mU"S5 TRT/SQ5 g)Nc3�Z># �TRU5 Sv� TRS5 g7f)Nrnro)rXrrs �rrs�ETestContextDecorator.test_contextmanager_as_decorator.<locals>.woohoo�s �����L�L��O���L�L���rurmc�N>�TRTS/5 TRU5 gr7)rxrp)rzrrrs ��rr��CTestContextDecorator.test_contextmanager_as_decorator.<locals>.test�s ������U�Q�C�(��L�L��Or�	something)rmrrn�something else)rmrrnr)rrsr�rrs`  @r� test_contextmanager_as_decorator�5TestContextDecorator.test_contextmanager_as_decorator�sn���	�	�
�	�
��	���	�
�	�	
�[������ 5�6����
������ :�;rrN)rrrr rrBrJr�r�r�r�r�r�r�rrr!rrrr�r�sG��� � �4�!�4�:�1�":�1�$�<	�	�:�0<rr�c��\rSrSrSr\RS5rSrSr	Sr
SrSrS	r
S
rSrSrS
rSrSrSrSrSrSrSrSrSrSrSrSrg)�TestBaseExitStacki�Nc��URRnUR5nURURU5 gr)�
exit_stackrrxrGs   rrJ�$TestBaseExitStack.test_instance_docs�s3�����.�.���o�o���������l�3rc�Z�UR5 SSS5 g!,(df   g=fr)rrIs r�test_no_resources�#TestBaseExitStack.test_no_resources�s��
�_�_�
���
�
�s��
*c�&^�S04S04S04S[SS94S[SS94S[SS94S[SSS94/n/mU4S	jnUR5n[U5H�upEU(aU(aUR"U/UQ70UD6nOGU(aUR"U/UQ76nO,U(aUR"U40UD6nOURU5nUR	Xb5 M� UR
HtnUR	USRU5 URUSRUR5 URUSRUR5 Mv SSS5 URTU5 /mUR5nUR[5 URSS
9 SSS5 UR[5 URRSS
9 SSS5 UR[5 URUSS9 SSS5 SSS5 URT/5 g!,(df   N�=f!,(df   N�=f!,(df   Ny=f!,(df   N\=f!,(df   Ne=f)
Nr)rm)rmr�rm)�exampler1�)r�callbackc�*>�TRX45 g)zTest metadata propagationNro)rrr�s  �r�_exit�.TestBaseExitStack.test_callback.<locals>._exit�s����M�M�4�,�'r)�argr�)rr!)�dictr�reversedrr'�_exit_callbacks�__wrapped__�assertNotEqualrr�rrxr5rA)	r�expectedr�stackrrr��wrapperr�s	        @r�
test_callback�TestBaseExitStack.test_callback�s���
��H�
�2�J�
�B�K�
��a��!�
�4��?�#�
�D��O�$�
�D�a�!�,�-�
����	(��_�_�
�%�&�x�0�
���D����u�<�t�<�t�<�A�����u�4�t�4�A�����u�5��5�A����u�-�A��
�
�a�'�1�!�0�0���
�
�g�a�j�4�4�e�<��#�#�G�A�J�$7�$7����H��!�!�'�!�*�"4�"4�e�m�m�D�1��	
�����*���
�_�_�
�%��"�"�9�-����1��%�.��"�"�9�-����(�(�Q�(�/�.��"�"�9�-�����1��5�.��	
�����$�3�
��&.�-��-�-��-�-���
�sa�DH>�J�&I�6J�I �-J�
I1�J�>
I�
I	�J� 
I.	�*J�1
I?	�;J�
Jc�\^^�[mUU4SjnSnU4Sjn"SS[5nTR5nURU5 TR	UR
SSU5 U"U5nURU5 TR	UR
SSRU5 URU5 TR	UR
SSU5 U"U5nURU5 TR	UR
SSRU5 URU5 TR	UR
SSU5 URU5 TR	UR
SSU5 SS- SSS5 g!,(df   g=f)	Nc�*>�TRUT5 gr)r')rMr��exc_tb�
exc_raisedrs   ��r�_expect_exc�0TestBaseExitStack.test_push.<locals>._expect_exc�s����M�M�(�J�/rc��gr�r��exc_detailss r�
_suppress_exc�2TestBaseExitStack.test_push.<locals>._suppress_exc����rc�l>�TRU5 TRU5 TRU5 gr)r�)rMr�r.rs   �r�
_expect_ok�/TestBaseExitStack.test_push.<locals>._expect_ok�s-������h�'����c�"����f�%rc�&�\rSrSrSrSrSrSrg)�+TestBaseExitStack.test_push.<locals>.ExitCMi�c��Xlgr��	check_exc)rr?s  r�__init__�4TestBaseExitStack.test_push.<locals>.ExitCM.__init__�s��!*�rc�&�URS5 g)NzShould not be called!)r�rIs rr(�5TestBaseExitStack.test_push.<locals>.ExitCM.__enter__�s���	�	�1�2rc�"�UR"U6 grr>�rr4s  rr�4TestBaseExitStack.test_push.<locals>.ExitCM.__exit__�s������,rr>N�rrrr r@r(rr!rrr�ExitCMr<�s��
+�
3�
-rrH���rmr)r�r�r�pushr'r$�__self__)rr0r5r9rHr(�cmr/s`      @r�	test_push�TestBaseExitStack.test_push�s^���&�
�	0�	�	&�	-�V�	-��_�_�
�%��J�J�z�"��M�M�%�/�/��3�A�6�
�C��
�#�B��J�J�r�N��M�M�%�/�/��3�A�6�?�?��D��J�J�}�%��M�M�%�/�/��3�A�6�
�F���$�B��J�J�r�N��M�M�%�/�/��3�A�6�?�?��D��J�J�{�#��M�M�%�/�/��3�A�6��D��J�J�{�#��M�M�%�/�/��3�A�6��D�
�a�C��
�
�s�EF�
F+c�^�"U4SjS[5n/mU"5nUR5nURU4Sj5nURU5 UR	U5 URURSSRU5 TRS5 SSS5 URT/SQ5 g!,(df   N#=f)Nc�.>�\rSrSrU4SjrU4SjrSrg)�4TestBaseExitStack.test_enter_context.<locals>.TestCMic�(>�TRS5 gr7ro)rr�s �rr(�>TestBaseExitStack.test_enter_context.<locals>.TestCM.__enter__�����
�
�a� rc�(>�TRS5 g�Nr1ro)rr4r�s  �rr�=TestBaseExitStack.test_enter_context.<locals>.TestCM.__exit__rTrrNrQ�r�s�r�TestCMrQs���
!�
!�
!rrYc�(>�TRS5 g)NrrorXs�rr�3TestBaseExitStack.test_enter_context.<locals>._exit�����
�
�a� rrIrmr�)rmr�r1r)
r�rrr��
enter_contextr'r$rKrprx)rrYrLr(rr�s     @r�test_enter_context�$TestBaseExitStack.test_enter_contexts����	!�V�	!���
�X��
�_�_�
�%�
�^�^�
!��
!�� � ��'�����#��M�M�%�/�/��3�A�6�?�?��D��M�M�!���	
�����.��
�s�A5B?�?
C
c�n�"SS5n"SS5n"SS5nUR5nUR[S5 URU"55 SSS5 UR[S5 URU"55 SSS5 UR[S5 URU"55 SSS5 UR	UR
5 SSS5 g!,(df   N�=f!,(df   Nx=f!,(df   NT=f!,(df   g=f)Nc��\rSrSrSrg)�FTestBaseExitStack.test_enter_context_errors.<locals>.LacksEnterAndExitirNr>rrr�LacksEnterAndExitrbr@rrcc��\rSrSrSrSrg)�?TestBaseExitStack.test_enter_context_errors.<locals>.LacksEnteric��grr)r�exc_infos  rr�HTestBaseExitStack.test_enter_context_errors.<locals>.LacksEnter.__exit__r�rrNr`rrr�
LacksEnterre���
rric��\rSrSrSrSrg)�>TestBaseExitStack.test_enter_context_errors.<locals>.LacksExitic��grrrIs rr(�HTestBaseExitStack.test_enter_context_errors.<locals>.LacksExit.__enter__r�rrNr[rrr�	LacksExitrlrjrror�)rr�rAr]rdr$)rrcriror(s     r�test_enter_context_errors�+TestBaseExitStack.test_enter_context_errorss���	�	�	�	�	�	��_�_�
�%��'�'�	�3H�I��#�#�$5�$7�8�J��'�'�	�3H�I��#�#�J�L�1�J��'�'�	�3H�I��#�#�I�K�0�J����U�2�2�3��
�I�I��I�I��I�I���
�sS�D&�C3�D&�;D�D&�0D�#D&�3
D	�=D&�
D	�D&�
D#	�D&�&
D4c�^�/mUR5nURU4Sj5nURU5 UR5 TR	S5 SSS5 URTSS/5 g!,(df   N#=f)Nc�(>�TRS5 gr7rorXs�rr�+TestBaseExitStack.test_close.<locals>._exit-r\rr�rm)rrr�rQrprx)rr(rr�s   @r�
test_close�TestBaseExitStack.test_close*sq�����
�_�_�
�%�
�^�^�
!��
!�� � ��'��K�K�M��M�M�!��
�	
����!�Q��(��
�s�AA9�9
Bc�V^�/mUR5nURU4Sj5nURU5 UR5nTR	S5 SSS5 TR	S5 WR5 UR
T/SQ5 g!,(df   ND=f)Nc�(>�TRS5 grVrorXs�rr�-TestBaseExitStack.test_pop_all.<locals>._exit8r\rrmr�)rmr�r1)rrr��pop_allrprQrx)rr(r�	new_stackr�s    @r�test_pop_all�TestBaseExitStack.test_pop_all5s������
�_�_�
�%�
�^�^�
!��
!�� � ��'��
�
��I��M�M�!��
�	�
�
�a�����������+��
�s�AB�
B(c���UR[5 UR5nURS5 SS- SSS5 SSS5 g!,(df   N=f!,(df   g=f)Nc��g)NFrr�s r�<lambda>�3TestBaseExitStack.test_exit_raise.<locals>.<lambda>Es��rrmr)r5r�rrJ�rr(s  r�test_exit_raise�!TestBaseExitStack.test_exit_raiseBsN��
�
�
�0�
1����"�e��
�
�-�.��!��#�2�
1�"�"��2�
1�s!�A!�A�A!�
A	�A!�!
A/c��UR5nURS5 SS- SSS5 g!,(df   g=f)Nc��gr�rr�s rr��6TestBaseExitStack.test_exit_suppress.<locals>.<lambda>J���Drrmr�rrJr�s  r�test_exit_suppress�$TestBaseExitStack.test_exit_suppressHs.��
�_�_�
�%��J�J�(�)�
�a�C��
�
�s	�2�
Ac���SnUR5nURU[5 SS- SSS5 URW[5 [R
"UR5nS/UR-SS/-nURUVs/sHowRUR4PM snU5 URUR[5 [R
"URR5nURUVs/sHowRUR4PM snS/5 g!,(df   GN=f![a
nUnSnAGN+SnAff=fs snfs snf)Nc��Uerrr�s r�	raise_exc�BTestBaseExitStack.test_exit_exception_traceback.<locals>.raise_excS����Irrmr)�test_exit_exception_tracebackz with self.exit_stack() as stack:)�
_exit_wrapperzcallback(*args, **kwds))r��	raise exc)r�r�)
rr�
ValueErrorr�rOr�r��callback_error_internal_framesrxr�r��__context__r�)	rr�r(r�r��	ve_framesr'r��
zde_framess	         rr��/TestBaseExitStack.test_exit_exception_tracebackMs=��	�	����"�e����y�*�5��!��#�	
���c�:�.��(�(��):�):�;�	�
R�S��/�/�
0�
9�
'�
)�
)�	�	
���'0�1�y�!�f�f�a�f�f�
�y�1�8�	=�	
���c�o�o�/@�A��)�)�#�/�/�*G�*G�H�
����J�?�J�q�6�6�1�6�6�*�J�?�B�C�	E�'#�"���	��C��	��
2��@s?�E�E�E�!E,�!E1�
E�
E�E�
E)�E$�$E)c	�J�"SS5n"SS5n"SS5nU"[5 U"[[5 U"5 U"[5 SS- SSS5 SSS5 SSS5 SSS5 UR	S	5 URSnURU[5 URUR[5 g!,(df   N}=f!,(df   N�=f!,(df   N�=f!,(df   N�=f![a�nURUR[5 URURR[5 URURRR5 SnAGNSnAff=f)
Nc�&�\rSrSrSrSrSrSrg)�JTestBaseExitStack.test_exit_exception_chaining_reference.<locals>.RaiseExcipc��Xlgrr�r�s  rr@�STestBaseExitStack.test_exit_exception_chaining_reference.<locals>.RaiseExc.__init__qrrc��U$rrrIs rr(�TTestBaseExitStack.test_exit_exception_chaining_reference.<locals>.RaiseExc.__enter__srKrc��URerr�rEs  rr�STestBaseExitStack.test_exit_exception_chaining_reference.<locals>.RaiseExc.__exit__us���h�h�rr�NrGrrr�RaiseExcr�ps��
�
�
rr�c�&�\rSrSrSrSrSrSrg)�UTestBaseExitStack.test_exit_exception_chaining_reference.<locals>.RaiseExcWithContextixc��XlX lgr)�outer�inner)rr�r�s   rr@�^TestBaseExitStack.test_exit_exception_chaining_reference.<locals>.RaiseExcWithContext.__init__ys��"�
�"�
rc��U$rrrIs rr(�_TestBaseExitStack.test_exit_exception_chaining_reference.<locals>.RaiseExcWithContext.__enter__|rKrc�>�URe! URe=fr�r�r�rEs  rr�^TestBaseExitStack.test_exit_exception_chaining_reference.<locals>.RaiseExcWithContext.__exit__~s"��%��*�*�$��%��*�*�$�s��r�NrGrrr�RaiseExcWithContextr�xs��
#�
�
%rr�c� �\rSrSrSrSrSrg)�MTestBaseExitStack.test_exit_exception_chaining_reference.<locals>.SuppressExci�c��U$rrrIs rr(�WTestBaseExitStack.test_exit_exception_chaining_reference.<locals>.SuppressExc.__enter__�rKrc�$�U[U5lgr�)r��
saved_detailsrEs  rr�VTestBaseExitStack.test_exit_exception_chaining_reference.<locals>.SuppressExc.__exit__�s��+6��T�
�(�rrNrQrrr�SuppressExcr��s��
�
rr�rmr�0Expected IndexError, but no exception was raised)
�
IndexError�KeyErrorr6r�r�r�r�r�r�r�)rr�r�r�r��	inner_excs      r�&test_exit_exception_chaining_reference�8TestBaseExitStack.test_exit_exception_chaining_referencems-��	�	�
	%�
	%�	�	�	J��*�%�(��>�B�$��%�j�1���E�2�'�C�&�
�I�I�H�I��-�-�a�0�	����i��4����i�3�3�5F�G�2�1��'���C�B��&�%��
�	G��!�!�#�/�/�8�<��!�!�#�/�/�"=�"=�~�N����c�o�o�9�9�E�E�F�F��		G�sv�D�D�C2�
C!�C	�C!�!C2�)D�1D�
C
�C!�!
C/�+C2�2
D	�<D�
D�
D�
F"�A9F�F"c�^�SnSmU4SjnUR5nURU[5 URU[5 URU[5 URU5 URU[5 SS- SSS5 URS5 TSnURU[5 URUR[5 g!,(df   N[=f![a�nURUR[5 URURR[5 URURRR5 SnAN�SnAff=f)Nc��Uerrr�s rr��ATestBaseExitStack.test_exit_exception_chaining.<locals>.raise_exc�r�rc�
>�Umgr�r)r4r�s �r�suppress_exc�DTestBaseExitStack.test_exit_exception_chaining.<locals>.suppress_exc�s���'�M�rrmrr�)rrr�r�r6rJr�r�r�r�r�r�)rr�r�r(r�r�r�s      @r�test_exit_exception_chaining�.TestBaseExitStack.test_exit_exception_chaining�s!���	��
�	�
	J����"�e����y�*�5����y�(�3����y�.�9��
�
�<�(����y�*�5��A��
#�
�I�I�H�I�!�!�$�	����i��4����i�3�3�5F�G�##�"���	G��!�!�#�/�/�8�<��!�!�#�/�/�"=�"=�~�N����c�o�o�9�9�E�E�F�F��		G�s0�C3�A/C"�
C3�"
C0�,C3�3
F�=A9E;�;Fc�^^^�"SS[5m[U4Sj5m[UU4Sj5nTU4H%nTR5 U"5 [5e g!,(df   O=fTR	S5 O.!Ta%nTRUR5 SnAOSnAff=fSSS5 M�!,(df   M�=f)Nc��\rSrSrSrg)�PTestBaseExitStack.test_exit_exception_explicit_none_context.<locals>.MyExceptioni�rNr>rrr�MyExceptionr��r@rr�c3�`># �Sv� g![a T"5nUe!SUlf=ff=f7fr)�
BaseExceptionr�)r�r�s �r�my_cm�JTestBaseExitStack.test_exit_exception_explicit_none_context.<locals>.my_cm�s6����
+��� �
+�!�m��+��I��&*�C�O��
+�s �.�
�.�+��	'�+�.c3�># �TR5nURT"55 Uv� SSS5 g!,(df   g=f7fr)rr])r(r�rs ��r�my_cm_with_exit_stack�ZTestBaseExitStack.test_exit_exception_explicit_none_context.<locals>.my_cm_with_exit_stack�s2�������"�e��#�#�E�G�,���#�"�"�s�A	�8�	A	�
A�A	r�)r�rwr�r�r�r�r�)rr�rLr�r�r�s`   @@r�)test_exit_exception_explicit_none_context�;TestBaseExitStack.test_exit_exception_explicit_none_context�s����	�)�	�
�	+�
�	+�
�	�
�	�
�/�0�B�����R���(�l�*�	1�����
�I�I�P�Q��#�7��%�%�c�o�o�6�6��7��	 ����sH�	B<�B�A � 
A.�*B�2B<�B/�
B*�%B<�*B/�/B<�<
C	c�~�SnSnUR5nURS5 URU[5 SSS5 URS5 UR5nURU[5 URU5 URU[5 SSS5 URS5 g!,(df   N�=f![a nURU[5 SnAN�SnAff=f!,(df   N^=f![a nURU[5 SnAgSnAff=f)Nc��Uerrr�s rr��HTestBaseExitStack.test_exit_exception_non_suppressing.<locals>.raise_exc�r�rc��gr�rr3s rr��KTestBaseExitStack.test_exit_exception_non_suppressing.<locals>.suppress_exc�r7rc��grrrrrr��GTestBaseExitStack.test_exit_exception_non_suppressing.<locals>.<lambda>�s��trr�z.Expected KeyError, but no exception was raised)rrr�r�r�r�r�rJ)rr�r�r(r�s     r�#test_exit_exception_non_suppressing�5TestBaseExitStack.test_exit_exception_non_suppressing�s���	�	�	J����"�e����|�,����y�*�5�#�
�I�I�H�I�	H����"�e����y�(�3��
�
�<�(����y�*�5�#�
�I�I�F�G�!#�"���	3��!�!�#�z�2�2��	3��#�"���	1��!�!�#�x�0�0��	1�s^�C�)C�C�D�+>D�)D�
C�
C�
C>�C9�9C>�
D�D�
D<�D7�7D<c���[S5n[S5n[S5n[S5n[S5nUR5nURU"U55 URU"U55 URU"U55 Ue!,(df   g=f![a�nUR	Xu5 UR	UR
U5 UR	UR
R
U5 UR	UR
R
R
U5 UR
UR
R
R
R
5 SnAgSnAff=f)Nc3�$# �Sv� Ue!Ue=f7frrr�s r�gets_the_context_right�ZTestBaseExitStack.test_exit_exception_with_correct_context.<locals>.gets_the_context_right�s���
���	��c�	�s��
��
�rmr�r1r)rwr�rr]r'r�r�)rr��exc1�exc2�exc3�exc4r(r�s        r�(test_exit_exception_with_correct_context�:TestBaseExitStack.test_exit_exception_with_correct_context�s+��	�	�
�	���|����|����|����|��
	L����"�e��#�#�$:�4�$@�A��#�#�$:�4�$@�A��#�#�$:�4�$@�A��
�	#�"��
�	L��M�M�#�$��M�M�#�/�/�4�0��M�M�#�/�/�5�5�t�<��M�M�#�/�/�5�5�A�A�4�H�������2�2�>�>�J�J�
L�
L��	L�s1�B#�
AB�
B �B#� B#�#
E3�-B<E.�.E3c�8�Sn[S5n[S5n[S5n[S5n[S5nUR5nURXU5 URXU5 Ue!,(df   g=f![Ga
nURX�5 URURU5 URURRU5 URURRRU5 URURRRRU5 URURRRRR5 SnAgSnAff=f)Nc��Ue!Ue=frr)r��	outer_excs  r�raise_nested�QTestBaseExitStack.test_exit_exception_with_existing_context.<locals>.raise_nesteds��
 ������s��rmr�r1rr2)r�rrr'r�r�)	rr�r�r�r�r��exc5r(r�s	         r�)test_exit_exception_with_existing_context�;TestBaseExitStack.test_exit_exception_with_existing_contexts5��	 �
��|����|����|����|����|��
	Q����"�e����|�4�8����|�4�8��
�#�"���	Q��M�M�#�$��M�M�#�/�/�4�0��M�M�#�/�/�5�5�t�<��M�M�#�/�/�5�5�A�A�4�H��M�M����,�,�8�8�D�D�d�
L�������+�+�7�7�C�C�O�O�
Q�
Q��	Q�s0�B�'A3�3
B�=B�B�F�DF�Fc���SnUR5nURU5 SS- SSS5 g!,(df   g=f![anURS5 SnAgSnAff=f)Nc��gr�rr3s rr��DTestBaseExitStack.test_body_exception_suppress.<locals>.suppress_exc5r7rrmrz%Expected no exception, got IndexError)rrJr�r�)rr�r(r�s    r�test_body_exception_suppress�.TestBaseExitStack.test_body_exception_suppress4sX��	�	?����"�e��
�
�<�(��!��#�"�"���	?��I�I�=�>�>��	?�s0�A�5�A�
A�A�A�
A+�A&�&A+c���UR5nURS5 URS5 URS5 SSS5 g!,(df   g=f)Nc��gr�rr�s rr��ITestBaseExitStack.test_exit_exception_chaining_suppress.<locals>.<lambda>@r�rc��SS-$rrr�s rr�r�As��A�a�Crc��0S$r7rr�s rr�r�Bs��B�q�Err�r�s  r�%test_exit_exception_chaining_suppress�7TestBaseExitStack.test_exit_exception_chaining_suppress>sA��
�_�_�
�%��J�J�(�)��J�J�'�(��J�J�)�*��
�
�s�7A�
Ac��UR5n[S5HnUR[5 M SSS5 g!,(df   g=f)Ni')r�ranger�int)rr(�is   r�test_excessive_nesting�(TestBaseExitStack.test_excessive_nestingDs4��
�_�_�
�%��5�\�����s�#�"��
�
�s�(A�
Ac�t�"SS[5nU"5n[5Ul[5UlUR5nUR	[
S5 UR
U5 SSS5 URU5 URURSSU5 g!,(df   NB=f)Nc��\rSrSrSrg)�7TestBaseExitStack.test_instance_bypass.<locals>.ExampleiKrNr>rrr�ExamplerKs��trrr�rIrm)
r�r(rrr�rAr]rJr'r$)rrrLr(s    r�test_instance_bypass�&TestBaseExitStack.test_instance_bypassJs���#�f�#�
�Y���x����h������!��
�
#�
#�I�/D�
E�����#�F�
�
�
�2���
�
�e�+�+�B�/��2�B�7�F�
E�s�B)�)
B7c��^�"SS[5m"SS[5n[U4Sj5n[S5nURT5nUR	5nURU"55 URU"55 U"S5e!,(df   O=fSSS5 O!,(df   O=fWRnURUT5 URURU5 URURR5 URURR5 URURUR5 g)Nc��\rSrSrSrg)�ITestBaseExitStack.test_dont_reraise_RuntimeError.<locals>.UniqueExceptioniWrNr>rrr�UniqueExceptionrWs��$rr	c��\rSrSrSrg)�LTestBaseExitStack.test_dont_reraise_RuntimeError.<locals>.UniqueRuntimeErroriXrNr>rrr�UniqueRuntimeErrorrXs��rrc3�N># �Sv� g![anT"S5UeSnAff=f7f)Nrmz
new exception�r�)r�r	s �r�second�@TestBaseExitStack.test_dont_reraise_RuntimeError.<locals>.secondZs/����
@�����
@�%�o�6�C�?��
@�s�%�
�%�
"�	�"�%c3�># �Sv� g![anUeSnAff=f7fr7rr�s r�first�?TestBaseExitStack.test_dont_reraise_RuntimeError.<locals>.firstas#���
�����
��	��
�s��	��
���zplease no infinite loop.)r�r�rwr5rr]�	exceptionr�r�r�r�r')rrrr�err_ctx�es_ctxr�r	s       @r�test_dont_reraise_RuntimeError�0TestBaseExitStack.test_dont_reraise_RuntimeErrorUs���.�i�.�4��4�	�	@�
�	@�
�	�
�	��
�
��
/�7����"�f��$�$�V�X�.��$�$�U�W�-�(�)C�D�D�#�"��"�0�
/�
/���������c�?�3����c�o�o�/A�B����#�/�/�5�5�6����#�/�/�3�3�4��
�
�c�m�m�S�_�_�5s�B-�5B�
B 	�B-�-
B;r)rrrr rrrBrJrr*rMr^rprur|r�r�r�r�r�r�r�r�r�r�r�r�rrr!rrrrr�s����J�� � �4�!�4��'%�R �D/�&4�&	)�,���
E�@.H�`H�> R�DH�6L�>Q�8?�+�$�	8� 6rrc� �\rSrSr\rSS/rSrg)�
TestExitStackix)rr�)rzif cb(*exc_details):rN)rrrr �	ExitStackrr�r!rrrrrxs���J�!�,�&�"rrc�^�\rSrSrSrSr\RS5rSr	Sr
SrSrSr
S	rg)
�TestRedirectStreami�Nc��URRnURS5nURURU5 gr)�redirect_streamrrxrGs   rrJ�%TestRedirectStream.test_instance_docs�s9���+�+�3�3���"�"�4�(��������l�3rc��[[UR5nURS5 UR	[[UR5U5 gr)�getattr�sys�orig_streamrr')r�orig_stdouts  r�test_no_redirect_in_init�+TestRedirectStream.test_no_redirect_in_init�s=���c�4�#3�#3�4�����T�"��
�
�g�c�4�#3�#3�4�k�Brc��[R"5nSn[[UR5nURU5 [
U[[UR5S9 SSS5 UR[[UR5U5 UR5R5nURXB5 g!,(df   Nh=f)Nz<Consider an API like help(), which prints directly to stdout��file)�io�StringIOr"r#r$r�printr'�getvalue�striprx)rr��msgr%�ss     r�test_redirect_to_string_io�-TestRedirectStream.test_redirect_to_string_io�s����K�K�M��L���c�4�#3�#3�4��
�
!�
!�!�
$��#�G�C��)9�)9�:�;�%��
�
�g�c�4�#3�#3�4�k�B�
�J�J�L��� ������ �	%�
$�s�#C�
Cc��[R"5nURU5nURX!5 SSS5 g!,(df   g=fr)r+r,rr')rr��enter_results   r�test_enter_result_is_target�.TestRedirectStream.test_enter_result_is_target�s5���K�K�M��
�
!�
!�!�
$���M�M�,�*�%�
$�
$�s�A�
Ac	��[R"5nURU5n[[UR
5nU [
SS[[UR
5S9 SSS5 U [
S[[UR
5S9 SSS5 UR[[UR
5U5 UR5nURUS5 g!,(df   N�=f!,(df   Nl=f�N�Hello� )�endr*zWorld!r)z
Hello World!
�
r+r,rr"r#r$r-r'r.rx�rr��
write_to_fr%r1s     r�test_cm_is_reusable�&TestRedirectStream.test_cm_is_reusable�s����K�K�M���)�)�!�,�
��c�4�#3�#3�4��
��'�s���d�6F�6F�)G�H��
��(���d�.>�.>�!?�@���
�
�g�c�4�#3�#3�4�k�B�
�J�J�L������,�-�
�Z��
�Z�s�$C)�1#C:�)
C7�:
Dc	��[R"5nURU5n[[UR
5nU [
SS[[UR
5S9 U [
S[[UR
5S9 SSS5 SSS5 UR[[UR
5U5 UR5nURUS5 g!,(df   Nc=f!,(df   Nl=fr9r=r>s     r�test_cm_is_reentrant�'TestRedirectStream.test_cm_is_reentrant�s����K�K�M���)�)�!�,�
��c�4�#3�#3�4��
��'�s���d�6F�6F�)G�H���h�W�S�$�2B�2B�%C�D���	
�
�
�g�c�4�#3�#3�4�k�B�
�J�J�L������,�-�	����Z�s$�&C:�)#C)�C:�)
C7	�3C:�:
Dr)rrrr rr$rrBrJr&r2r6r@rCr!rrrrr�s>���O��K�� � �4�!�4�C�
!�+�

.�
.rrc��\rSrSr\rSrSrg)�TestRedirectStdouti��stdoutrN)rrrr �redirect_stdoutrr$r!rrrrFrF����%�O��KrrFc��\rSrSr\rSrSrg)�TestRedirectStderri��stderrrN)rrrr �redirect_stderrrr$r!rrrrKrK�rIrrKc�n�\rSrSr\R
S5rSrSrSr	Sr
SrSrS	r
S
rSrSrg
)�TestSuppressi�c�p�[Rn[5nURURU5 gr)�suppressrrxrGs   rrJ�TestSuppress.test_instance_docs�s*�� �'�'���j��������l�3rc�x�[[5nURU5 SSS5 g!,(df   g=fr)rQr�r�)rr5s  r�test_no_result_from_enter�&TestSuppress.test_no_result_from_enter�s&��
�j�
!�\����l�+�"�
!�
!�s�+�
9c��[[5 UR[SS5S5 SSS5 g!,(df   g=f)Nr�r2� )rQr�rx�powrIs r�test_no_exception�TestSuppress.test_no_exception�s,��
�j�
!����S��A�Y��+�"�
!�
!�s	�6�
Ac�l�[[5 [S5 SSS5 g!,(df   g=f)Nr2)rQrAr�rIs r�test_exact_exception�!TestSuppress.test_exact_exception�s��
�i�
 ���F�!�
 �
 �s�%�
3c�`�[[5 SS SSS5 g!,(df   g=f)Nr:�2)rQ�LookupErrorrIs r�test_exception_hierarchy�%TestSuppress.test_exception_hierarchy�s��
�k�
"��B�K�#�
"�
"�s��
-c��UR[5 [[5 SS- SSS5 SSS5 g!,(df   N=f!,(df   g=fr)r5r�rQrArIs r�test_other_exception�!TestSuppress.test_other_exception�s=��
�
�
�0�
1��)�$��!��%�2�
1�$�$��2�
1�s�A�=�A�
A	�A�
Ac��UR[5 [5 SS- SSS5 SSS5 g!,(df   N=f!,(df   g=fr)r5r�rQrIs r�test_no_args�TestSuppress.test_no_args�s9��
�
�
�0�
1����!���2�
1����2�
1�s�A	�8�A	�
A	�A	�	
Ac���[[[5 SS- SSS5 [[[5 [S5 SSS5 g!,(df   N7=f!,(df   g=f)Nrmrr2)rQr�rAr�rIs r�test_multiple_exception_args�)TestSuppress.test_multiple_exception_args�sC��
�'��
3�
�a�C�4�
�'��
3���F�4�
3�4�
3��
3�
3�s�A�A�
A�
A+c�`�[[5nU SSS5 U [S5 SSS5 U U [S5 SSS5 SnSS- SSS5 URW5 g!,(df   N^=f!,(df   NY=f!,(df   NQ=f!,(df   NS=f)Nr2Trmr)rQr�r�rb)r�ignore_exceptions�outer_continueds   rrC�!TestSuppress.test_cm_is_reentrant�sz��$�Y�/��
���
���F��
�"��A��#�"�O�
�a�C�	�
	
����(��
��
�
��#�"���
�s8�A,�A=�B�B�B�,
A:�=
B�
B	�B�
B-c
���SnSn[[5 U"5e!,(df   O=f[[[5 U"5e!,(df   O=fUR[5n[[5 U"5e!,(df   O=fSSS5 O!,(df   O=fURWR[	S[S5[S5/55 [[5 [S[5/5e!,(df   O=fUR[5n[[5 [S[S5[S5/5e!,(df   O=fSSS5 O!,(df   O=fURUR[S[S5/55 UR[5n[[5 [S[S5[S5/5e!,(df   O=fSSS5 O!,(df   O=fURUR[	S[S5/55 g)	Nc�V�[S[S5[S5[S5/5$)NzEG with ValueErrors only�ve1�ve2�ve3)�ExceptionGroupr�rrrr��4TestSuppress.test_exception_groups.<locals>.<lambda>�s%���&�
��
�
�5� 1�:�e�3D�E�
rc	�j�[S[S5[S5[S5[S5/5$)N� EG with many types of exceptionsrr�ke1rs�ke2)rur�r�rrrr�rvs*���.�
��
�����E�1B�H�U�O�T�
rrxryrz�message�gr�)	rQr�r�r5ru�assertExceptionIsLiker�
GeneratorExit�BaseExceptionGroup)r�eg_ve�eg_all�eg1s    r�test_exception_groups�"TestSuppress.test_exception_groups�s���
��
���j�
!��'�M�"�
!��
�j�(�
+��(�N�,�
+��
�
�
�~�
.�#��*�%��h��&�%��%�/�
.�
.��	
�"�"��M�M��2��%��(�5�/�2�
�	
��m�
$�$�Y���0A�B�B�%�
$���
�
�1�
2�c��(�#�(��]�3�5G��RU��4W�X�X�$�#��#�3�
2�
2��	
�"�"��M�M�-�i�-��:L�9M�N�	
��
�
�~�
.�#��-�(�(��]�3�5G��RU��4W�X�X�)�(��(�/�
.�
.��	
�"�"��M�M�>�)�h�s�m�_�E�	
sz��
,�A�
A�1B$�B	�	
B	�B$�$
B2�>D�
D"�:F�
!E+�+
E9	�5F�
F�H(�,!H
�
H	�H(�(
H6rN)rrrr rrBrJrTrYr\rardrgrjrCr�r!rrrrOrO�sG��� � �4�!�4�,�,����
�
�)�(
rrOc�,�\rSrSrSrSrSrSrSrg)�	TestChdiri&c��[RR"[RR[RR	[
55/UQ76$r)�os�path�join�dirname�realpath�__file__)r�partss  r�make_relative_path�TestChdir.make_relative_path's>���w�w�|�|��G�G�O�O�B�G�G�,�,�X�6�7�
�
�
�	
rc�P�[R"5nURS5nURX5 [	U5 UR[R"5U5 SSS5 UR[R"5U5 g!,(df   N4=f)N�data)r��getcwdr�r&�chdirrx)r�old_cwdrs   r�test_simple�TestChdir.test_simple-sk���)�)�+���(�(��0�����G�,�
�6�]����R�Y�Y�[�&�1���������g�.��]�s�&B�
B%c�&�[R"5nURS5nURS5nURXU45 [	U5[	U5pTU UR[R"5U5 U UR[R"5U5 U UR[R"5U5 SSS5 UR[R"5U5 SSS5 UR[R"5U5 SSS5 UR[R"5U5 g!,(df   N�=f!,(df   Nr=f!,(df   NV=f)Nr��archivetestdata)r�r�r��assertNotInr�rx)rr��target1�target2�chdir1�chdir2s      r�test_reentrant�TestChdir.test_reentrant6s���)�)�+���)�)�&�1���)�)�*;�<������G�"4�5��w���w���
����R�Y�Y�[�'�2��� � �����g�6���$�$�R�Y�Y�[�'�:��� � �����g�6�	�

���R�Y�Y�[�'�2��	
�������g�.�	�V������V�s<�"(F�
(E1�2&E �-E1�-F� 
E.�*E1�1
E?	�;F�
Fc��[R"5nURS5nURX5 [	U5 UR[R"5U5 [
S5e!,(df   O5=f![a%nUR[U5S5 SnAOSnAff=fUR[R"5U5 g)Nr��boom)r�r�r�r&r�rxr��str)rr�r�res    r�test_exception�TestChdir.test_exceptionGs����)�)�+���(�(��0�����G�,�	.��v��� � �����f�5�"�6�*�*�����	.����S��W�f�-�-��	.���������g�.s/�B�1A5�5
B�?B�B�
B5�B0�0B5rN)	rrrr r�r�r�r�r!rrrr�r�&s��
�/�/�"/rr��__main__)#rr+r�r#rrr�rO�unittest�
contextlibr�r�test.supportr�test.support.testcaserr$�TestCaserrhrDrcrmr}r�r�r�rrrrFrKrOr�r�mainrrr�<module>r�s\��?�	�	�
�������"�6��2E��!2�!2�2E�jF#�X�.�.�F#�R
%�h�'�'�%�D#�(�+�+�#�"�(�+�+�"�$-'�(�+�+�-'�`� ��]<�8�,�,�]<�@J6�J6�Z�%�x�'8�'8��6.�6.�r�+�X�->�->���+�X�->�->��^
�'��):�):�^
�B,/��!�!�,/�^�z���M�M�O�r

Youez - 2016 - github.com/yon3zu
LinuXploit