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_exceptions.cpython-312.opt-2.pyc

�

'Μg�H���ddlZddlZddlZddlZddlZddlZddlZddlmZddl	m
Z
ddlmZm
Z
mZmZmZmZmZddlmZddlmZmZddlmZddlmZ	dd	lmZGd�de�Z Gd
�de�Z!Gd�de�Z"Gd�dejF�Z$Gd�dejF�Z%Gd�dejF�Z&Gd�dejF�Z'd�Z(Gd�dejF�Z)Gd�dejF�Z*Gd�dejF�Z+Gd �d!ejF�Z,e-d"k(rej\�yy#e$rd
ZY��wxYw)#�N)�BOM_UTF8)�dedent)�captured_stderr�check_impl_detail�cpython_only�
gc_collect�
no_tracing�
script_helper�SuppressCrashReport)�
import_module)�TESTFN�unlink)�check_warnings)�support)�INT_MAXi���c��eZdZd�Zy)�NaiveExceptionc��||_y�N��x��selfrs  �1/usr/local/lib/python3.12/test/test_exceptions.py�__init__zNaiveException.__init__�	�����N��__name__�
__module__�__qualname__r�rrrrs��rrc��eZdZdZd�Zy)�SlottedNaiveExceptionrc��||_yrrrs  rrzSlottedNaiveException.__init__#rrN)rr r!�	__slots__rr"rrr$r$!s���I�rr$c��eZdZd�Zy)�BrokenStrExceptionc��td��)Nzstr() is broken��	Exception�rs r�__str__zBrokenStrException.__str__'s���)�*�*rN)rr r!r-r"rrr(r(&s��+rr(c�l�eZdZd�Zd�Zd�Zd�ZdQd�Zd�Zd�Z	e
jee
jk\d	�ej d
�ej"edd�
�d����Zed��Zd�Ze
j,e
j.dk(d�d��Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z d�Z!d�Z"d�Z#d�Z$e%d ��Z&d!�Z'd"�Z(d#�Z)d$�Z*d%�Z+d&�Z,d'�Z-d(�Z.d)�Z/d*�Z0d+�Z1d,�Z2d-�Z3d.�Z4d/�Z5d0�Z6d1�Z7d2�Z8d3�Z9d4�Z:d5�Z;d6�Z<d7�Z=d8�Z>d9�Z?d:�Z@d;�ZAe%d<��ZBeej d
�d=���ZCed>��ZDed?��ZEd@�ZFedA��ZGedB��ZHedC��ZIedD��ZJe%dE��ZKdF�ZLdG�ZMdH�ZNedI��ZOdJ�ZPdK�ZQdL�ZRe
j,ddM�dN��ZSdO�ZTdP�ZUy)R�ExceptionTestsc�H�|j||��5	|d��#|$r}t|�}Yd}~nd}~wwxYw	|d��#|$r}t|�}Yd}~nd}~wwxYw|j||�|j|j|�ddd�y#1swYyxYw)N)�exc�excname�spam)�subTest�str�assertEqualr)rr1r2�err�buf1�buf2s      r�raise_catchzExceptionTests.raise_catch.s���
�\�\�c�7�\�
3�
 ��&�k�!���
 ��3�x���
 ��
 ��&�k�!���
 ��3�x���
 �����T�4�(����S�\�\�7�3�4�
3�
3�sH�B��8�3�B�8�B�A�A�	A�B�A�1B�B!c��|jtd�|jtttd�|jt
d�t
tdd��}|j�t
tdd��}tj}		ddl
}|jd	�|t_	|j�tt�|jtd
�|jttdd�|jtd�|jttd
�|jt d�g}|jt |j"d�|jt$d�i}|jt$|j"d�|jt&d�|jt(d�|jt*d�t,}|jt.d�d}t1d�D]}||z
}�	|jt2d�|jt4d�|jt6d�t9d�|jt:d�|jt<d�t?ddd �|jAd!�|jtBd"�|jtDd#�|jtDtjFd�|jtHd$�gd%z|jtJd&�|jtJtLd'�|jtNd(�ddz}|jtPd)�ddz}|jtRd*�y#t
$rY��wxYw#|t_	|j�tt�wxYw#t*$rY���wxYw#t6$rY���wxYw#t<$rY��UwxYw#tH$rY��wxYw#tN$rY��wxYw#tP$r
}Yd}~��d}~wwxYw)+N�AttributeError�undefined_attribute�EOFError�w�utf-8��encoding�rrr�OSErrorzthis file does not exist�ImportError�undefined_module�
IndexError�
�KeyError�key�KeyboardInterrupt�MemoryError�	NameError�
OverflowError���RuntimeError�RecursionError�SyntaxErrorz/
�IndentationError�TabErrorz"try:
	1/0
    	1/0
finally:
 pass
�<string>�execzTabError not raised�SystemError�
SystemExit�	TypeErrorr"�
ValueErrori�ZeroDivisionErrorr+�StopAsyncIteration)*r:r<�assertRaises�getattr�sysr>�openr
�close�stdin�marshal�loadsrrDrE�
__import__rG�__getitem__rIrKrLrM�undefined_variablerN�rangerQrRrSrWrTrU�compile�failrXrY�exitrZr[�chrr\r+r])r�fp�	savestdinrdr�dummy�es       r�testRaisingzExceptionTests.testRaising;sW������)9�:����.�'�3�8M�N�����:�.�
�&�#��
0��
���
�
�&�#��
0���I�I�	�		�
���
�
�c�"�"�C�I��H�H�J��6�N�����)�,����'�4�)C�S�I�����m�4����+�z�3E�F�����\�2������*�a�m�m�R�8�����:�.������(�A�M�M�5�9����*�,?�@�����m�4�����K�0�#�Q�	
�����8�
���3�Z�E�
��F�A� �	
����~�6�����)9�:�����m�4�
�%�[�	
���)�+=�>�����:�.�
�@���)��i�i�-�.�����m�4�����\�2����*�c�h�h��2�����K�0�
�"�W�	
����\�2����*�c�6�2����*�,?�@��1��Q�	
����K�0��1��Q�	
���+�-A�B��K�
��
��"�C�I��H�H�J��6�N��,��$���� �D� ���������$���!�&�$�&���#�t��#�s��N�)O�O,�
O<�P�&P�P*�	N*�&N-�)N*�*N-�-,O�	O)�(O)�,	O9�8O9�<	P	�P	�	P�P�	P'�&P'�*	P=�8P=c�J���fd�}d}||d�|dd�|dd�y)Nc� ���j||��5	t|dd��jd�ddd�y#t$r:}|j|k7r!�jd|�d|j���Yd}~�Gd}~wwxYw#1swYyxYw)N)�src�msg�
<fragment>rW�"failed to get expected SyntaxError�	expected �, got )r4rjrkrSrv)rurvrqrs   �r�ckmsgz4ExceptionTests.testSyntaxErrorMessage.<locals>.ckmsg�sz������#�3��/�D��C��v�6�
�I�I�B�C�0�/��#�H��u�u��|��	�	�3����"F�G���H��0�/�s1�B�
>�B�	B�0A<�7B�<B�B�B
zHif 1:
        try:
            continue
        except:
            passz'continue' not properly in loopz	continue
zf'{6 0}'z+invalid syntax. Perhaps you forgot a comma?r"�rr{�ss`  r�testSyntaxErrorMessagez%ExceptionTests.testSyntaxErrorMessage�s3���	D�
��	�a�2�3�
�l�=�>�
�j�G�Hrc���tf�fd�	}d}||d�d}||d�d}||d�d}||d�d}||d�d	}||d
�d}||d
�d}||d
t�d}||dt�y)Nc����	t|dd��jd�y#|$r?}|j|k7r&�jd|�d|j���Yd}~yYd}~yd}~wwxYw)NrwrWrxryrz)rjrkrv)rurv�	exceptionrqrs    �rr{z:ExceptionTests.testSyntaxErrorMissingParens.<locals>.ckmsg�s`���
@���\�6�2�
�	�	�>�?��	�
D��5�5�C�<��I�I�s�A�E�E�B�C�C� ��
D�s�
"�A&�0A!�!A&zprint "old style"z@Missing parentheses in call to 'print'. Did you mean print(...)?zprint "old style",zprint f(a+b,c)zexec "old style"z>Missing parentheses in call to 'exec'. Did you mean exec(...)?z
exec f(a+b,c)zprint (a+b,c) $ 42zinvalid syntaxzexec (a+b,c) $ 42zif True:
print "No indent"z9expected an indented block after 'if' statement on line 1z6if True:
        print()
	exec "mixed tabs and spaces"z2inconsistent use of tabs and spaces in indentation)rSrTrUr|s`  r�testSyntaxErrorMissingParensz+ExceptionTests.testSyntaxErrorMissingParens�s����&1�	@�
$��
�a�S�T�$��
�a�S�T���
�a�S�T�"��
�a�Q�R���
�a�Q�R�

!��
�a�!�"���
�a�!�"�
.��
�a�L�N^�_�K��
�a�E�x�PrNc���|j|||��5|jt�5}t|dd�ddd�|j	j
j|�|j	|j
j|�|�&|j	|j
j|�|�&|j	|j
j|�|j
j�_t|t�s|j|d�}|jd�|dz
}|j||j
j�ddd�y#1swY��$xYw#1swYyxYw)N)�source�lineno�offsetrwrW�replace�
rO)r4r^rSrjr6r�r�r��
end_lineno�
end_offset�text�
isinstancer5�decode�split�assertIn)	rrur�r�r�r�rB�cm�lines	         r�checkzExceptionTests.check�s��
�\�\��V�F�\�
C��"�"�;�/�2���\�6�2�0����R�\�\�0�0�&�9����R�\�\�0�0�&�9��%�� � ����!8�!8�*�E��%�� � ����!8�!8�*�E��|�|� � �,�!�#�s�+��*�*�X�y�9�C��y�y���v�a�x�0���
�
�d�B�L�L�$5�$5�6�D�
C�/�/��D�
C�s"�E(�E�DE(�E%	� E(�(E1c�0�|j}|ddd�y)Nz"\
"(1 for c in I,\
\�)r��rr�s  r�)test_error_offset_continuation_charactersz8ExceptionTests.test_error_offset_continuation_characters�s���
�
��
�*�A�q�1rc�@�|j}|ddd�|ddd�|ddd�|d	dd
�|ddd
�|ddd
d��|ddd�|ddd�|ddd�|ddd�|ddd�|ddd�|ddd�|ddd�|ddd�|ddd
�|ddd�|ddd�|d dddd!�|d"dddd
�|d#dd$dd%�|d&dd$dd%�|d'dd�|d(dd�|d)dd�|d*dd�|d+dd,�|d-dd,�|d.dd�|d/dd$�|d0dd�|d1dd,�|d2dd�|d3dd$�|d4dd$�|d5dd$d6��|d7dd8�|d9dd�|d:dd�|d;dd�|d<d=d>�|d?dd@�|dAdd@�|dBddC�|dDj�dddd�|dEdd�|dFdd@�|dGdd�|dHddI�|dJdd�|dKdd�|dLdd�|dMdd�|dNdd�|dOdd�|dPdd�|dQdd�|dRdd�|dSdd�|dTdd�|dUdd�|dVdd�|dWdd�y)XNzdef fact(x):
	return x!
r�rHz1 +
rO�z def spam():
  print(1)
 print(2)�zPython = "Python" +�uPython = "Ṕýţĥòñ" +s+# -*- coding: cp1251 -*-
Python = "ϳ���" +��cp1251rAsPython = "ϳ���" +zx = "a�zlambda x: x = 2zf{a + b + c}zile for str(file) in []
]�ua = « hello » « world »z[
file
for str(file)
in
[]
]zile for
 str(file) in []]zages = {'Alice'=22, 'Bob'=23}�	z7match ...:
    case {**rest, "key": value}:
        ...z
[a b c d e f]zfor x yfff:�zf(a for a in b, c)�zf(a for a in b if a, c)zf(a, b for b in c)��zf(a, b for b in c, d)zclass foo:return 1zdef f():
  continuezdef f():
  breakz4try:
  pass
except:
  pass
except ValueError:
  passztry:
  pass
except*:
  pass�z6try:
  pass
except*:
  pass
except* ValueError:
  passz(0x+1)zx = 0xIz0010 + 2z
x = 32e-+4zx = 0o9uα = 0xIsα = 0xIs## -*- coding: iso8859-7 -*-
� = 0xIz	iso8859-7s�if 1:
            def foo():
                '''

            def bar():
                pass

            def baz():
                '''quux'''
            �z"pass
pass
pass
(1+)
pass
pass
passz(1+)z[interesting
foo()
s#coding: utf8
print('我')
r���z7f'''
            {
            (123_a)
            }'''�ztf'''
            {
            f"""
            {
            (123_a)
            }
            """
            }'''z4f"""


            {
            6
            0="""�
ub"fooжжж"z!x = [(yield i) for i in range(3)]zdef f():
  from _ import *zdef f(x, x):
  passz3{i for i in range(5) if (j := 0) for j in range(5)}�&zdef f(x):
  nonlocal xzdef f(x):
  x = 1
  global xz
nonlocal xz def f():
  global x
  nonlocal xz#from __future__ import doesnt_existzfrom __future__ import bracesz#x=1
from __future__ import divisionzfoo(1=2)zdef f():
  x, y: intz[*x for x in xs]zfoo(x for x in range(10), 100)zfor 1 in []: passz
(yield i) = 2zdef f(*):
  pass)r��encoder�s  r�testSyntaxErrorOffsetz$ExceptionTests.testSyntaxErrorOffset�s����
�
��
�+�Q��3�
�g�q�!��
�2�A�r�:�
�#�Q��+�
�;�Q��C�
�L���h�	(�
�2�A�r�:�
�h��1��
���A�&�
�n�a��#�
�,�a��4�
�+�Q��2�
�1�1�a�8�
�,�a��3�
�-�q�!�4�
�I�1�b�Q�
�o�q�!�$�
�m�Q��"�
�"�A�q�!�R�0�
�'��A�q�"�5�
�"�A�q�!�R�0�
�%�q�!�Q��3�	�"�A�r�*�
�$�a��+�
�!�1�a�(�
�I�1�a�P�
�.��1�5�
�K�Q�PQ�R�	�h��1��
�i��A��
�j�!�Q��
�l�A�q�!�
�i��A��
�n�a��#�
���A�&�
�8�!�Q�"�	$�
�	��B�		�	�8�!�Q�?�
�f�a���
�%�q�!�,�
�C�Q��K�
����	�	����	�	��
��	�	�n�#�#�%�q�!�Q��3�	�1�1�a�8�
�+�Q��3�
�$�a��,�
�C�Q��K�
�'��A�.�
�.��1�5�
�l�A�q�!�
�2�A�q�9�	�3�Q��:�
�-�q�!�4�
�4�a��;�
�j�!�Q��
�%�q�!�,�
� �!�Q�'�
�.��1�5�
�!�1�a�(�
�o�q�!�$�
�!�1�a�(rz)Downcasting to int is safe for col_offset�cpur�F)�memuse�dry_runc��d|dfz}|jtd�5t|dd�ddd�y#1swYyxYw)Nsif True:
%*sspasszParser column offset overflowrwrW)�assertRaisesRegexrNrj)r�sizerus   r�testMemoryErrorBigSourcez'ExceptionTests.testMemoryErrorBigSourceIs<���$���0��
�
#�
#�M�3R�
S��C��v�.�T�
S�
S�s�5�>c�����Gd�dt��Gd�d����fd�}��fd�}��fd�}|�|�|�y)Nc��eZdZd�Zy)�9ExceptionTests.testSettingException.<locals>.BadExceptionc��td��)Nzcan't instantiate BadException)rQ)�self_s rrzBExceptionTests.testSettingException.<locals>.BadException.__init__Ws��"�#C�D�DrNrr"rr�BadExceptionr�Vs��
Err�c��eZdZy)�=ExceptionTests.testSettingException.<locals>.InvalidExceptionN�rr r!r"rr�InvalidExceptionr�Z���rr�c�N��ddl}	|j�d��jd�y#t$rp}|jj
j}�j|jd��j|jjd��Yd}~yd}~wwxYw)NrrO�Expected exception�
test_capi1�test_exceptions.py)�	_testcapi�raise_exceptionrkrZ�
__traceback__�tb_frame�f_coder6�co_name�
assertTrue�co_filename�endswith)r�r7�cor�rs   ��rr�z7ExceptionTests.testSettingException.<locals>.test_capi1]s�����
0��)�)�,��:��	�	�.�/���
O��&�&�/�/�6�6��� � ����\�:������� 7� 7�8L� M�N�N��
O�s�+�	B$�A&B�B$c����ddl}	|j�d��jd�y#t$r�}|jj
}|jj}�j|jd��j|jjd��|jjj}�j|jd�Yd}~yd}~wwxYw)Nrr�rr��
test_capi2)r�r�rkrQr��tb_nextr�r�r6r�r�r�r��f_back)r�r7�tbr��co2r�rs     ��rr�z7ExceptionTests.testSettingException.<locals>.test_capi2hs�����

0��)�)�,��:��	�	�.�/�� �
<��&�&�.�.���[�[�'�'��� � ����Z�8������� 7� 7�8L� M�N��k�k�(�(�/�/��� � ����l�;�;��

<�s�+�	C,�B.C'�'C,c�R��ddl}�jt|j�d�y)NrrO)r�r^rXr�)r�r�rs ��r�
test_capi3z7ExceptionTests.testSettingException.<locals>.test_capi3vs#�������k�9�+D�+D�.��
3rr*)rr�r�r�r�r�s`   @@r�testSettingExceptionz#ExceptionTests.testSettingExceptionQs;���
	E�9�	E�	�	�		0�	0�	3�
	�����rc��	t|jtt�|jt	td��d�|jt	tdd��d�tddd�}|j|j
d�|j|jd�|jt	|�d�td	ddd
�}|j|j
d�|j|jd
�|j|jd�|j|jd�|j|jd�|jt	|�d�td	ddd�}|j|j
d
�|j|jd�|j|jd�|j|jd�|j|jd�|jt	|�d�tdd�}|j|j
d�|j|jd�|j|jd�|j|jd�|j|jd�y#t$rYywxYw)Ni��1001�messagez[Errno 1001] messager��foo�barz[Errno 9] foo: 'bar'rr�r�z[WinError 3] foo: 'bar'�z[WinError 1001] foo)�WindowsError�assertIsrDr6r5�errno�winerror�strerror�filename�	filename2rM)rr?s  r�test_WindowsErrorz ExceptionTests.test_WindowsErrors6��$	0��
�M�M�,��0����S����/��8����S���y�!9�:�3�
5���5�%�(�A����Q�W�W�a�(����Q�Z�Z��.����S��V�%;�<���5�%��+�A����Q�W�W�a�(����Q�Z�Z��+����Q�Z�Z��/����Q�Z�Z��/����Q�[�[�$�/����S��V�%>�?���5�$��-�A����Q�W�W�b�)����Q�Z�Z��.����Q�Z�Z��/����Q�Z�Z��.����Q�[�[�$�/����S��V�%:�;���u�%�A����Q�W�W�e�,����Q�Z�Z��.����Q�Z�Z��/����Q�Z�Z��.����Q�[�[�$�/��E�	��	�s�K�	K�K�win32ztest specific to Windowsc��	td�}d}|jtd|z�5|jj	|�ddd�y#1swYyxYw)N�ctypeslcs�@zWindows Error 0x%x)rr�rD�	pythonapi�PyErr_SetFromWindowsErr)rr��codes   r�test_windows_messagez#ExceptionTests.test_windows_message�sN��	I��x�(����
�
#�
#�G�-A�D�-H�
I����4�4�T�:�J�
I�
I�s�A
�
Ac�\�tdiddiftdiddiftdiddiftdiddiftdiddd�ftdidddddd�ftd	id	dddd
d�ftdid	dddd
d�ftd
id	ddd�ftdiddddd�ftdidddddd�ftdidddddddd�ftdiddddddddd�ftdidd ddddd!d"d#d$�	ftd%idd%dddddddd&�	ftdiddift
d'id'd(d)d*d+d,�ftd(td-�d*dd+fid(td-�d*dd+fd(d-d*d+d,�ftd.id.d(d-d*d+d,�ftd/id/d0d1d*dd2�ftdiddd3�ftdiddd3�ftdtd4d5�6�tdd4d5�7�fg}	|jtdiddddddd8�f�|D�]W\}}}}	||i|��}t!|�j"j%d9�s%|j't!|�j(d:�t+|�}|D]D}t-||�}	|j't/|	�t/||�|�d;|�d<|	�d=||����Ft0fD]�}
t3|
j4dz�D]�}|
j7||�}|
j9|�}|D]X}t/t-||��}
|tk(r|d5k(rt/d�}nt/||�}|j'|
|d>|�d?|����Z������Zy#t$rY��jwxYw#t;d@|�dA|��t<j>�B�Y���xYw)CNr"�args)rO)r�)r�rOr�)r�r�)r�r�r�r�r�)r�r�r�)r�r��bazr�)r�r�r�N�quuxr�)r�r�r�)�errnoStr�strErrorStr�filenameStr)r�r�r�r�r�)r�r�r�r�)rOr�r�)rOr�rO)r�r�r�r�r�)rvr�r�r�r�r��print_file_and_line)�msgStrr�)r�r�r�rvr�r�r�r�)r�)r��	linenoStr�	offsetStr�textStr�endLinenoStr�endOffsetStrr�r�r�r�r�)	r�r�r�r�rvr�r�r�r�)r�r�r�r�r�r�r��print_file_and_lineStr)	r�r�r�rvr�r�r�r�r�)�ascii�arrO�ordinal not in ranger�r�rr�)r�rB�object�start�reason��)r�r�rrOr�)�あrrO�ouchrr)r�r�r�r��end)r�r�name�obj�rr)r�rr)r�r�r�r�r�r�r�builtins�.z == z, expected z	pickled "z", attribute "z
exc=z, args=)�file) �
BaseExceptionrYrDrS�UnicodeError�UnicodeEncodeError�UnicodeDecodeError�	bytearray�UnicodeTranslateErrorrr$r<�dict�appendr�rM�typerr�r6r r5r_�repr�pickleri�HIGHEST_PROTOCOL�dumpsre�printr`�stderr)r�
exceptionListr1r��kwargs�expectedrqr}�checkArgName�value�p�protocol�new�got�wants               r�testAttributeszExceptionTests.testAttributes�s����B��V�b�M�2�
�E�2����7�
�H�b��(�#�
%�
�J���*�%�
'�
��2�"�U�3�
5�
�h��"��T��d�4�
5��n�b�(�"�$� �u�6�
7��+�R�(�#�4� �u�6�
7��9�2�(�u�6�R�
T�
�@�"�5�+�z�+�-�
.��7��,��+�+�4�A�
B��"�b�4�$�!�d�t�"�D�#B�
C��+�r�%��)-�x�"�t��#�%�
&�
�G�HJ�'�)�G�*.�x�+��-�^�
M�
N��5�68��5�*.�x�"�t��#�4�
9�	
:��2�r�F�R�>�2�
�":�;=�C�%�#��)?�A�
B� �'�9�W�+=�q�!�"8�":�;=�"�I�g�$6��1�+A�C�%�'��)?�A�
B� �":�;=�C�%�'��)?�A�
B�#�$<�b�2�$���a�)�
*��X�r�!��.�
0�
"�H�b�!��.�
0�
�X�t��U�'C��(��U�;�
=�iV
�
�n
	�� � ��@�"�0�"/�d� �"/�t�E�F�
�,9�'�C��v�x�"
@���(��(���A�w�'�'�0�0�1A�B��$�$�T�!�W�%7�%7��D���F��$,�L�#�A�|�4�E��$�$�T�%�[�%)�(�<�*@�%A�%&��%*�H�\�,B�&D�E�%-�!��A�$)�!�*<�*<�q�*@�$A���G�G�A�x�0���g�g�a�j��,4�L�"&�w�s�L�'A�"B�C�"�n�4���9N�(,�D�z��'+�H�\�,B�'C�� �,�,�S�$�./��.?�@�-5�%B�"�+,9���	��	��
H���s�g�W�T�H�5�C�J�J�G�G�s�7 K5�#L�5	L�L�#L+c��td�}d|_|j|jd�|j|jd�|j	t
t|d�|j	t
t|d�|jddd��|j|jd�|j|jd�|j|jd�|j|jd�|jd	d
dd��|j|jd
�|j|jd�|j|jd	�|j|jd�y)
N�*�5)r$r��brOr�)r�r&r�)rOr�r��#)r�r��blah)
r+r(r6r�r^r<r_�__setstate__r�r&�rrqs  r�
test_setstatezExceptionTests.test_setstate;s&���b�M������������'��������$����.�'�1�c�:����.�'�1�c�:�	���Q�a�(�)��������'��������$�������a� �������a� �	���R��"�=�>��������)��������$�������b�!�������a� rc��td�}|jtd�5|jd�ddd�y#1swYyxYw)Nr$zstate is not a dictionary)r+r�rZr)r*s  r�test_invalid_setstatez$ExceptionTests.test_invalid_setstateMs5���b�M��
�
#�
#�I�/J�
K�
�N�N�2��L�
K�
K�s	�=�Ac���td�td�td�fD�]�}|j|��5|j	t|d��|j
d�|j|jdg�|jt�5|j
d�ddd�|j|jdg�|j
d�|j|jddg�|`|j	t|d��|j
d	�|j|jd	g�d|_|j|jd�|jt�5|j
d
�ddd�|j|jd�ddd����y#1swY��xYw#1swY�>xYw#1swY���xYw)NrOr�r��rq�	__notes__zMy Noter$z	Your NotezOur Notez
will not work)r	r+r[r4�assertFalse�hasattr�add_noter6r0r^rZr*s  r�
test_noteszExceptionTests.test_notesRsl����"�I�a�L�*�Q�-�@�A������"�� � ���K�!8�9��
�
�9�%�� � ����y�k�:��&�&�y�1��J�J�r�N�2�� � ����y�k�:��
�
�;�'�� � ����y�+�.F�G��K�� � ���K�!8�9��
�
�:�&�� � ����z�l�;� ���� � ����b�1��&�&�y�1��J�J��/�2�� � ����b�1�/#�"�A�2�1�� 2�1��+#�"�s=�AG�G�(CG�?G�$G�G�G�G�G�G$	c�4�	td��#t$r}|j}Yd}~nd}~wwxYwt�j	|�}|j|t�|j
|j|�td�j	|�}|j|t�|j
|j|�Gd�dt�}|�j	|�}|j||�|j
|j|�y)Nr�r�c��eZdZy)�5ExceptionTests.testWithTraceback.<locals>.MyExceptionNr�r"rr�MyExceptionr7{r�rr8)rGr+r�r	�with_traceback�assertIsInstancer6)rrqr�r8s    r�testWithTracebackz ExceptionTests.testWithTracebackms���	!��Q�-����	!����B��	!��
�O�*�*�2�.�����a��/�������"�-��q�M�(�(��,�����a��,�������"�-�	�)�	�
�M�(�(��,�����a��-�������"�-��
�	,�'�,c��	dt�_|jd�y#t$r%}|j	dt|��Yd}~yd}~wwxYw)Nr��No exception raisedz!__traceback__ must be a traceback)r+r�rkrZr�r5r*s  r�testInvalidTracebackz#ExceptionTests.testInvalidTraceback�sJ��	-�()�I�K�%�
�I�I�+�,���	G��M�M�=�s�1�v�F�F��	G�s�#�	A�A�Ac��t}t�}d}|j||t|dd�d}|j||t|dd�d}|j||t|dd�d}|j||t|d	d�y)
Nz'int' object is not iterabler�rOz)__traceback__ must be a traceback or Noner�z9exception cause must be None or derive from BaseException�	__cause__z;exception context must be None or derive from BaseException�__context__)rZr+r��setattr)r�TEr1rvs    r�test_invalid_setattrz#ExceptionTests.test_invalid_setattr�s���
���k��,�����r�3���f�a�@�9�����r�3���o�q�I�I�����r�3���k�1�E�K�����r�3���m�Q�Grc�$�t}	td��#t$r}|}Yd}~nd}~wwxYwd}|j||t|d�|j||t|d�|j||t|d�|j||t|d�y)Nr�zmay not be deletedr�r�rArB)rZrGr+r��delattr)rrDrqr1rvs     r�test_invalid_delattrz#ExceptionTests.test_invalid_delattr�s���
��	��Q�-����	��C��	��#�����r�3���f�=����r�3���o�F����r�3���k�B����r�3���m�Ds��	(�#�(c���	td��#t$r}|j}Yd}~nd}~wwxYwt�}||_d|_|j|jd�y)Nr�)rGr+r�r6)rrqr�s   r�testNoneClearsTracebackAttrz*ExceptionTests.testNoneClearsTracebackAttr�sU��	!��Q�-����	!����B��	!��
�K��������������$�/r<c��t�}|j|j�|j|j�t	�}|j|j�|j|j�Gd�dt
�}|�}|j|j�|j|j�y)Nc��eZdZy)�5ExceptionTests.testChainingAttrs.<locals>.MyExceptionNr�r"rrr8rM�r�rr8)r+�assertIsNonerBrArZrD)rrqr8s   r�testChainingAttrsz ExceptionTests.testChainingAttrs�s����K�����!�-�-�(����!�+�+�&��K�����!�-�-�(����!�+�+�&�	�'�	�
�M�����!�-�-�(����!�+�+�&rc��	t��#t$r}|}Yd}~nd}~wwxYw|j|j�|j|j�|j	|j
�t
�|_d|_|j|jt�|j|j�|j|j
�d|_|j	|j
�y)NF)	r+rNrBrAr1�__suppress_context__rMr:r�)rr1rqs   r�testChainingDescriptorsz&ExceptionTests.testChainingDescriptors�s���	��+����	��A��	��	
���!�-�-�(����!�+�+�&�����/�/�0�!���
�������a�m�m�Y�7����!�+�+�&�����.�.�/�!&�������/�/�0s�
�	!��!c��|jttd��Gd�dt�}|d��}|j|jd�y)NrO)r�c��eZdZd�Zy)�8ExceptionTests.testKeywordArgs.<locals>.DerivedExceptionc�<�tj|�||_yr)r	r�	fancy_arg)rrWs  rrzAExceptionTests.testKeywordArgs.<locals>.DerivedException.__init__�s���&�&�t�,�!*��rNrr"rr�DerivedExceptionrU�s��
+rrXr$)rW)r^rZr	r6rW)rrXrs   r�testKeywordArgszExceptionTests.testKeywordArgs�sE��	
���)�]�a��8�	+�}�	+�

�r�*��������b�)rc�t����fd��|jt���fd��|jt��y)Nc�����Srr")�fs�rr\z/ExceptionTests.testInfiniteRecursion.<locals>.f�s
����3�Jrc�2��	��S#t$rYywxYw)Nr��r[��gs�rr`z/ExceptionTests.testInfiniteRecursion.<locals>.g�s!���
��s�
���
��
�s�
�	�)r^rR)rr\r`s @@r�testInfiniteRecursionz$ExceptionTests.testInfiniteRecursion�s/���	����.�!�,�	�
	
���.�!�,rc���|jtt��|jttd���|jttdd���y)Nr�r&)r�r5r+r,s r�test_strzExceptionTests.test_str�s?������I��'�����I�c�N�+�,�����I�c�3�/�0�1rc��	t��#t$r }|j|t�Yd}~nd}~wwxYw|jdt��|j	t
�5ddd�y#1swYyxYw�Nrq�r+r:�assertNotIn�localsr^�UnboundLocalErrorr*s  r�test_exception_cleanup_namesz+ExceptionTests.test_exception_cleanup_names�sb��	0��+����	0��!�!�!�Y�/�/��	0������f�h�'�
�
�
�0�
1�
�2�
1�
1�s�
�	5�0�5�'A3�3A<c��	t��#t$r!}|j|t�~Yd}~nd}~wwxYw|jdt��|j	t
�5ddd�y#1swYyxYwrerfr*s  r�test_exception_cleanup_names2z,ExceptionTests.test_exception_cleanup_names2�sd��	��+����	��!�!�!�Y�/���	��	
����f�h�'�
�
�
�0�
1�
�2�
1�
1�s�
�	6�1�6�(A4�4A=c�����Gd�dt��Gd�d�}��fd�}|��tj��}	|�d�t�|��|j	��|��tj��}	|�d�t�|��|j	��|��tj��}	|�d�t�|��|j	��|��tj��}dD]
}	|��d�t�|��|j	��|��tj��}		|�	|��tj��}	|�d�td��r
t�|��|j	��Gd	�d
�}|��tj��}|�5|�ddd�d�td��r
t�|��|j	��y#�$r}Yd}~���d}~wwxYw#�$rY���wxYw#Y��xYw#Y��9xYw#t
�xYw#t
$rL}d|_d�t�|��td��r
t�|j	��Yd}~��Md}~wwxYw#�$r		�#�xYw#�$rYnwxYwY��LwxYw#1swY��xYw)Nc��eZdZd�Zy)�=ExceptionTests.testExceptionCleanupState.<locals>.MyExceptionc��||_yr�r�rrs  rrzFExceptionTests.testExceptionCleanupState.<locals>.MyException.__init__�	����rNrr"rrr8ro
���
rr8c��eZdZy)�7ExceptionTests.testExceptionCleanupState.<locals>.MyObjNr�r"rr�MyObjrv
r�rrwc����}����rr")�	local_refr8rs ��r�inner_raising_funczDExceptionTests.testExceptionCleanupState.<locals>.inner_raising_funcs����I��c�"�"r)rF)�cpythonc��eZdZd�Zd�Zy)�9ExceptionTests.testExceptionCleanupState.<locals>.Contextc��|Srr"r,s r�	__enter__zCExceptionTests.testExceptionCleanupState.<locals>.Context.__enter__q����rc��y)NTr")r�exc_type�	exc_value�exc_tbs    r�__exit__zBExceptionTests.testExceptionCleanupState.<locals>.Context.__exit__ss��rN�rr r!rr�r"rr�Contextr}ps��
�
rr�)r+�weakref�refrrNrIrBr)	rrwrz�wrrq�ir�r8rs	       @@r�testExceptionCleanupStatez(ExceptionTests.testExceptionCleanupStates����	�)�	�	�	�	#��g��
�[�[��
��	�� ������d�����#���g��
�[�[��
��	�� ������d�����#���g��
�[�[��
��	�� ������d�����#���g��
�[�[��
���A�
�"�$��
�����d�����#���g��
�[�[��
��	#�
�"�$�$�g��
�[�[��
��		�� ����U�+��L��d�����#��	�	�
�g��
�[�[��
��
�Y�� �����U�+��L��d�����#���G�	���	���	��	��	���
���
�����	#�
!�A�M��C��L��$�C� ��/������c�"�"��	#��&�	�
�������
��
���	��,�Y�s��H1�I�I�I�'I!�K�0K#�1I�<I�I
�I
�I�I�!I)�)I,�,	K�5AJ<�<K�K �K�K�K�K�K �K�K �K �#K,c�X���fd�}	ty#t$r�|�Yd��yd��wwxYw)Nc�
���yrr"r/s�r�print_errorzIExceptionTests.test_exception_target_in_nested_scope.<locals>.print_error�s���
r)�	somethingr+)rr�rqs  @r�%test_exception_target_in_nested_scopez4ExceptionTests.test_exception_target_in_nested_scopes'���	�	����	��M�M��	�s��	)�$�)c�B�d�}|�}|jt|�t�|jt	j
��|jt|�t�|jt	j
��|jt|��	t
d��#t$r�|�}|jt|�t�|jt	j
�t�|jt|�t�|jt	j
�t�|jt|�t�~|jt	j
�t�YywxYw)Nc3��K�	td��#t$r/tj���tj���YnwxYwtj���y�w)N�caught)rIr`r�r"rr�yield_raisez:ExceptionTests.test_generator_leaking.<locals>.yield_raise�sK����
&��x�(�(���
&��m�m�o�%��m�m�o�%�
&���-�-�/�!�s �A!��5A�A!�A�A!r�)r:�nextrIrNr`r�rZ)rr�r`s   r�test_generator_leakingz%ExceptionTests.test_generator_leaking�s��	"�
�M�����d�1�g�x�0����#�-�-�/�*����d�1�g�x�0����#�-�-�/�*����$�q�'�"�
	>��E�"�"���	>��
�A��!�!�$�q�'�8�4��!�!�#�-�-�/�9�=��!�!�$�q�'�8�4��!�!�#�-�-�/�9�=��!�!�$�q�'�9�5���!�!�#�-�-�/�9�=�	>�s�*B5�5C&F�Fc���d�}	t�#t$r|�}t|�YnwxYw	t|�n#t$rYnwxYw|jt	j
��y)Nc3�K�d��y�wrr"r"rrr`z1ExceptionTests.test_generator_leaking2.<locals>.g�s	�������)rQr��
StopIterationrNr`r��rr`�its   r�test_generator_leaking2z&ExceptionTests.test_generator_leaking2�sa��	�	�����	���B���H�	��	���H���	��	�����#�-�-�/�*s��)�)�9�	A�Ac��d�}|�}t|�	ddz|j
tj��y#t$ru}|jtj�|�|j|�}|jtj�|�|j||�Yd}~��d}~wwxYw)Nc3�`K�	d��y#t$rtj���YywxYw�wr�r\r`r�r"rrr`z1ExceptionTests.test_generator_leaking3.<locals>.g�s(����
&���$�
&��m�m�o�%�
&�s�.�	�.�+�.�+�.rOr)r�r\r�r`r��throwrN)rr`r�rq�gen_excs     r�test_generator_leaking3z&ExceptionTests.test_generator_leaking3�s���	&�
�S���R��	&�
�a�C�	
���#�-�-�/�*��!�	&��M�M�#�-�-�/�1�-��h�h�q�k�G��M�M�#�-�-�/�1�-��M�M�'�1�%�%��		&�s�A�	B>�	A+B9�9B>c�l�d�}|�}	t�#t$rtt|��}YnwxYw|j|t�	t|�n:#t$r.}|jtj�|�Yd}~nd}~wwxYw|jtj��y)Nc3�`K�	ddzy#t$rtj����wxYw�w�NrOrr�r"rrr`z1ExceptionTests.test_generator_leaking4.<locals>.g�s/����
��!���$�
��m�m�o�%��
�s�.�
�.�!+�.)rZrr�r�r\r`r�rN)rr`r��tprqs     r�test_generator_leaking4z&ExceptionTests.test_generator_leaking4�s���	��S��	 ��O���	 ��d�2�h��B�	 ��	
�
�
�b�+�,�	.���H��!�	.��M�M�#�-�-�/�1�-�-��	.��	
���#�-�-�/�*s$��2�2�A�	B�!$B
�
Bc����fd�}|�}	t�#t$rt|�YnwxYw�jtt|�y)Nc3��K��jtj�t�d���j	tj��y�wr)r:r`r�rQrNr,s�rr`z>ExceptionTests.test_generator_doesnt_retain_old_exc.<locals>.g�s4������!�!�#�-�-�/�<�@�����c�m�m�o�.�s�AA)rQr�r^r�r�s`  r�$test_generator_doesnt_retain_old_excz3ExceptionTests.test_generator_doesnt_retain_old_exc�sD���	/��S��	�����	���H�	�����-��r�2s��,�,c�~��d���fd�}|�t�|jtj��y)Nc3�K�d��y�w�NrOr"r"rr�
simple_genzNExceptionTests.test_generator_finalizing_and_sys_exception.<locals>.simple_gen�s�����G�r�c�T����}	t�#t$rt|�cYSwxYwr)rQr�)�genr�s �r�run_genzKExceptionTests.test_generator_finalizing_and_sys_exception.<locals>.run_gen�s.����,�C�
!�"�"���
!��C�y� �
!�s��'�')rrNr`r�)rr�r�s  @r�+test_generator_finalizing_and_sys_exceptionz:ExceptionTests.test_generator_finalizing_and_sys_exception�s-���	�	!�	�	������#�-�-�/�*rc����Gd�dt��Gd�d�}��fd�}|��tj��}|�}t|�||�dx}�t	�|��|j��y)Nc��eZdZd�Zy)�FExceptionTests._check_generator_cleanup_exc_state.<locals>.MyExceptionc��||_yrrqrrs  rrzOExceptionTests._check_generator_cleanup_exc_state.<locals>.MyException.__init__rsrNrr"rrr8r�rtrr8c��eZdZy)�@ExceptionTests._check_generator_cleanup_exc_state.<locals>.MyObjNr�r"rrrwr�r�rrwc3�<�K�	����#�$rd��YywxYw�wrr")r8rs��r�raising_genzFExceptionTests._check_generator_cleanup_exc_state.<locals>.raising_gens(�����
�!�#�&�&���
��
�s��
�	���)r+r�r�r�rrN)r�testfuncrwr�r�r`r8rs      @@r�"_check_generator_cleanup_exc_statez1ExceptionTests._check_generator_cleanup_exc_state�sm���	�)�	�	�	�	��g��
�[�[��
���M���Q��������C����d�����#�rc�,�d�}|j|�y)Nc�V�	|jt��y#t$rYywxYwr)r�rQr_s r�do_throwzGExceptionTests.test_generator_throw_cleanup_exc_state.<locals>.do_throws'��
������'���
��
�s��	(�(�r�)rr�s  r�&test_generator_throw_cleanup_exc_statez5ExceptionTests.test_generator_throw_cleanup_exc_states��	�
	
�/�/��9rc�,�d�}|j|�y)Nc�$�|j�yr)rbr_s r�do_closezGExceptionTests.test_generator_close_cleanup_exc_state.<locals>.do_close!s��
�G�G�Irr�)rr�s  r�&test_generator_close_cleanup_exc_statez5ExceptionTests.test_generator_close_cleanup_exc_state s��	��/�/��9rc�,�d�}|j|�y)Nc��d}yrr"r_s r�do_delzCExceptionTests.test_generator_del_cleanup_exc_state.<locals>.do_del&s���Arr�)rr�s  r�$test_generator_del_cleanup_exc_statez3ExceptionTests.test_generator_del_cleanup_exc_state%s��	��/�/��7rc�2���fd�}�j|�y)Nc�^��	t|��jd�y#t$rYywxYw�Nz should have raised StopIteration)r�rkr��r`rs �r�do_nextzEExceptionTests.test_generator_next_cleanup_exc_state.<locals>.do_next+s2���
>��Q���	�	�<�=��!�
��
�s� �	,�,r�)rr�s` r�%test_generator_next_cleanup_exc_statez4ExceptionTests.test_generator_next_cleanup_exc_state*����	>�	
�/�/��8rc�2���fd�}�j|�y)Nc�j��	|jd��jd�y#t$rYywxYwr�)�sendrkr�r�s �r�do_sendzEExceptionTests.test_generator_send_cleanup_exc_state.<locals>.do_send5s6���
>����t���	�	�<�=��!�
��
�s�&�	2�2r�)rr�s` r�%test_generator_send_cleanup_exc_statez4ExceptionTests.test_generator_send_cleanup_exc_state4r�rc���G�fd�d�}d�	t|���#YnxYwt�|j��y)Nc���eZdZ�fd�Zy)�*ExceptionTests.test_3114.<locals>.MyObjectc�.��tj��yr)r`r�r*s �r�__del__z2ExceptionTests.test_3114.<locals>.MyObject.__del__Bs����M�M�O�rN�rr r!r�r/s�r�MyObjectr�As���
$rr�r")r+rrN)rr�rqs  @r�	test_3114zExceptionTests.test_3114>sC���	$�	$�
��	��H�J�'�'��	��������!�s�!�%c���Gd�dt�}Gd�dt�}Gd�dt�}		|�#|$r�}|}	|�#|$r�}|}	|�#|$r�}|}	|j||�|j||�|j|	|�|j|j�|j	|j|�|j	|	j|�|�d}~wwxYwd}~wwxYwd}~wwxYw#|$r}
|
}Yd}
~
nd}
~
wwxYw|j	|�|j	|j	�|j	|	j�|j|j�y)Nc��eZdZy)�HExceptionTests.test_raise_does_not_create_context_chain_cycle.<locals>.ANr�r"rr�Ar�Nr�rr�c��eZdZy)�HExceptionTests.test_raise_does_not_create_context_chain_cycle.<locals>.BNr�r"rr�Br�Pr�rr�c��eZdZy)�HExceptionTests.test_raise_does_not_create_context_chain_cycle.<locals>.CNr�r"rr�Cr�Rr�rr�)r+r:rNrBr�)rr�r�r��a_r��b_r&�c_�crqr1s            r�.test_raise_does_not_create_context_chain_cyclez=ExceptionTests.test_raise_does_not_create_context_chain_cycleMsM��	�	�	�	�	�	�	�	�	�	�
 �����
 ��� ��G��� ��A�
 ����� ����-�-�a��3��-�-�a��3��-�-�a��3��)�)�!�-�-�8��
�
�a�m�m�Q�7��
�
�a�m�m�Q�7���� ��	 ��	
 ��"�	��C��	��	
�
�
�c�1���
�
�a�m�m�Q�'��
�
�a�m�m�Q�'����!�-�-�(sf�2�C-�C(�<�C%�C �A�C�B
C�C�C � C%�%C(�(C-�-C0�0D�5C<�<Dc��d�}	|�|jt�|j|jt�|j|jj|j�y#t$r}|}Yd}~�wd}~wwxYw)Nc�`�	td��#t$r}||_td��d}~wwxYw�NrOr�)r[rBrZ��exs r�cyclezBExceptionTests.test_no_hang_on_context_chain_cycle1.<locals>.cyclexs2��
#� ��m�#���
#�!#�����l�"��
#�s�
�	-�(�-)r+r:rZrBr[r�)rr�rqr1s    r�$test_no_hang_on_context_chain_cycle1z3ExceptionTests.test_no_hang_on_context_chain_cycle1usj��	#�	��G�	
���c�9�-����c�o�o�z�:��
�
�c�o�o�1�1�3�?�?�C���	��C��	�s�A3�3	B�<B�Bc��Gd�dt�}Gd�dt�}Gd�dt�}|j|�5}	|��#|$r>}|}	|��#|$r'}|}	|��#|$r}	|	}
|
|_|
�d}	~	wwxYwd}~wwxYwd}~wwxYw#1swYnxYw|jj
�|j|
j�|j|j�|j|j|
�y)Nc��eZdZy)�>ExceptionTests.test_no_hang_on_context_chain_cycle2.<locals>.ANr�r"rrr�r��r�rr�c��eZdZy)�>ExceptionTests.test_no_hang_on_context_chain_cycle2.<locals>.BNr�r"rrr�r��r�rr�c��eZdZy)�>ExceptionTests.test_no_hang_on_context_chain_cycle2.<locals>.CNr�r"rrr�r��r�rr��r+r^rBr�r�)rr�r�r�r��_ar��_br&�_cr�s           r�$test_no_hang_on_context_chain_cycle2z3ExceptionTests.test_no_hang_on_context_chain_cycle2�s���	�	�	�	�	�	�	�	�	��
�
�q�
!�R�

 ��c�	���
 ���	 ��#�I��� ��A� ��c�	��� ���()��
���� ��	 ��	
 ��"�
!�� 	
�
�
�b�l�l�A�&��
�
�a�m�m�Q�'��
�
�a�m�m�Q�'��
�
�a�m�m�Q�'se�B�A�B�
B�A�B�A>�A&�&A;	�+A6	�6A;	�;A>�>B�B�B�B�Bc��Gd�dt�}Gd�dt�}Gd�dt�}Gd�dt�}Gd	�d
t�}|j|�5}	|��#|$r\}|}	|��#|$rE}	|	}
	|��#|$r.}|}||_	|��#|$r}
|
}|�}|�d}
~
wwxYwd}~wwxYwd}	~	wwxYwd}~wwxYw#1swYnxYw|jj�|j|j�|j|j�|j|j
�|j|
j�|j|j|�y)Nc��eZdZy)�>ExceptionTests.test_no_hang_on_context_chain_cycle3.<locals>.ANr�r"rrr�r�r�rr�c��eZdZy)�>ExceptionTests.test_no_hang_on_context_chain_cycle3.<locals>.BNr�r"rrr�r�r�rr�c��eZdZy)�>ExceptionTests.test_no_hang_on_context_chain_cycle3.<locals>.CNr�r"rrr�r�r�rr�c��eZdZy)�>ExceptionTests.test_no_hang_on_context_chain_cycle3.<locals>.DNr�r"rr�Dr
�r�rrc��eZdZy)�>ExceptionTests.test_no_hang_on_context_chain_cycle3.<locals>.ENr�r"rr�Er
�r�rrr�)rr�r�r�rrr�r�r�r�r&rr��_d�drqs                r�$test_no_hang_on_context_chain_cycle3z3ExceptionTests.test_no_hang_on_context_chain_cycle3�s[��	�	�	�	�	�	�	�	�	�	�	�	�	�	�	��
�
�q�
!�R�
$��c�	���
$���$��#�I���$��A�
$��c�	���$���()��
�$�"#�#�I�� �$� "�A� !��A�"#�G��$��$��	$��	
$��"�
!��*	
�
�
�b�l�l�A�&��
�
�a�m�m�Q�'��
�
�a�m�m�Q�'��
�
�a�m�m�Q�'��
�
�a�m�m�Q�'��
�
�a�m�m�Q�'s��C
�A&�&C�+C�.A5�5B?�:B:�=B�B7	�		B2	�B�B/�B*�*B/�/B2	�2B7	�7B:�:B?�?C�C�C
�
Cc���		td�}|�#td�}|�xYw#t$r}|}Yd}~nd}~wwxYw|j|�|j|j�yr�)rZr[r+r�rB)r�te�verqr1s     r�,test_context_of_exception_in_try_and_finallyz;ExceptionTests.test_context_of_exception_in_try_and_finally�s`��	�
��q�\�������]������	��C��	��	
�
�
�c�2���
�
�c�o�o�r�*s�
��!�	6�1�6c�@�		td�}|�#td�}|�xYw#td�}|�xYw#t$r}|}Yd}~nd}~wwxYw|j	|�|j	|j
�|j	|j
j
�y)NrOr�r�)rZr[rDr+r�rB)rrr�oerqr1s      r�/test_context_of_exception_in_except_and_finallyz>ExceptionTests.test_context_of_exception_in_except_and_finally�s���	�
��q�\�����
���]������Q�Z������	��C��	��	
�
�
�c�2���
�
�c�o�o�r�*��
�
�c�o�o�1�1�2�6s$�
��"�0�3�	A�A�Ac��			td�}|�#YnxYw	td�}|�#td�}|�xYw#t$r}|}Yd}~nd}~wwxYw|j|�|j|j�yr�)r[rDr+r�rB)rrrrqr1s     r�-test_context_of_exception_in_else_and_finallyz<ExceptionTests.test_context_of_exception_in_else_and_finally�s���	�	
�� ��]�����	
����
�Q�Z������Q�Z������	��C��	��	
�
�
�c�2���
�
�c�o�o�r�*s)�
&��&�
7�4�7�	A�A�Ac��tddddd�}|jt|�d�d|_|jt|�d�d|_d	|_|jt|�d
�d|_|jt|�d�d
|_|jt|�d�tddddd�}|jt|�d�d|_|jt|�d�d|_d	|_|jt|�d�d|_|jt|�d�d
|_|jt|�d�tdddd�}|jt|�d�d|_|jt|�d�d|_d	|_|jt|�d�d
|_|jt|�d�y)Nr��xxxxxrOr�r�z8'baz' codec can't encode characters in position 1-4: foor�z<'baz' codec can't encode character '\x78' in position 1: foolESh
MQ)EzJ'baz' codec can't encode characters in position 1-4: 965230951443685724997i�zK'4000' codec can't encode characters in position 1-4: 965230951443685724997i�zN'4000' codec can't encode characters in position 1000-4: 965230951443685724997sxxxxxz3'baz' codec can't decode bytes in position 1-4: fooz5'baz' codec can't decode byte 0x78 in position 1: foozE'baz' codec can't decode bytes in position 1-4: 965230951443685724997zF'4000' codec can't decode bytes in position 1-4: 965230951443685724997zI'4000' codec can't decode bytes in position 1000-4: 965230951443685724997�xxxxz/can't translate characters in position 1-4: fooz3can't translate character '\x78' in position 1: foozAcan't translate characters in position 1-4: 965230951443685724997zDcan't translate characters in position 1000-4: 965230951443685724997)	rr6r5rr�rBr�rr)r�us  r�test_unicode_change_attributesz-ExceptionTests.test_unicode_change_attributes
s���
�u�g�q�!�U�;������Q��![�\��������Q��!`�a����'�������Q��!m�n���
�����Q��!n�o��������Q��!q�r��u�h��1�e�<������Q��!V�W��������Q��!X�Y����'�������Q��!h�i���
�����Q��!i�j��������Q��!l�m�!�&�!�Q��6������Q��!R�S��������Q��!W�X����'�������Q��!d�e��������Q��!g�hrc��tttf}|D],}|jt	|j|��d��.y)N�)rrrr6r5�__new__)r�klasses�klasss   r�test_unicode_errors_no_objectz,ExceptionTests.test_unicode_errors_no_object2s8��$�&8�:O�O���E����S����u�!5�6��;�rc���Gd�dt�}Gd�dt|��}t�5}	t��#|$r}|j	d�Yd}~n%d}~wt$rYn|j	d�YnxYwddd�n#1swYnxYw�fd����}|j|tt|��|jd	t|��y)
Nc��eZdZd�Zy)�/ExceptionTests.test_badisinstance.<locals>.Metac��t��rr^)�cls�subclasss  r�__subclasscheck__zAExceptionTests.test_badisinstance.<locals>.Meta.__subclasscheck__=s
�� �l�"rN)rr r!r,r"rr�Metar(<s��
#rr-c��eZdZy)�6ExceptionTests.test_badisinstance.<locals>.MyExceptionNr�r"rrr8r/?r�rr8)�	metaclasszShould have raised KeyErrorz%exception should not be a MyExceptionc�D��	��S#t$r}|cYd}~Sd}~wwxYwr)rR)rqr`s �rr`z,ExceptionTests.test_badisinstance.<locals>.gNs$���
��s�
��!�
����
�s�
�	���z maximum recursion depth exceeded)	rr+rrIrkr:rRr�r5)rr-r8rrqr1r`s      @r�test_badisinstancez!ExceptionTests.test_badisinstance8s����	#�4�	#�	�)�t�	��
�&�	
9��j� ���
C��	�	�A�B�B���
��
9��	�	�7�8���
�
��	�
�c�����c�>�4��9�=��
�
�8�#�c�(�Cs7�B�
8�A5�A�B�A5�B�!A5�3B�B
c�@�d�}|�tj�y)Nc�P�t�}td�D]}|j}�y)Ni@B)r�ri�__dir__)�ors  rr�z3ExceptionTests.test_trashcan_recursion.<locals>.foo]s#����A��9�%���I�I��&r)rr)rr�s  r�test_trashcan_recursionz&ExceptionTests.test_trashcan_recursionXs��
	�	�����rc���dtz}tjdd|�\}}}|j|d�|j	d|�|j	d|�|j	d|�y)Na�if 1:
            import sys
            from _testinternalcapi import get_recursion_depth
            from test import support

            class MyException(Exception): pass

            def setrecursionlimit(depth):
                while 1:
                    try:
                        sys.setrecursionlimit(depth)
                        return depth
                    except RecursionError:
                        # sys.setrecursionlimit() raises a RecursionError if
                        # the new recursion limit is too low (issue #25274).
                        depth += 1

            def recurse(cnt):
                cnt -= 1
                if cnt:
                    recurse(cnt)
                else:
                    generator.throw(MyException)

            def gen():
                f = open(%a, mode='rb', buffering=0)
                yield

            generator = gen()
            next(generator)
            recursionlimit = sys.getrecursionlimit()
            try:
                recurse(support.EXCEEDS_RECURSION_LIMIT)
            finally:
                sys.setrecursionlimit(recursionlimit)
                print('Done.')
        �-Wd�-crOsRecursionErrorsResourceWarning�Done.)�__file__r
�assert_python_failurer6r��rr��rc�outr7s     r�$test_recursion_normalizing_exceptionz3ExceptionTests.test_recursion_normalizing_exceptiongsn��$�H�I$��J%�:�:�5�$��M���C������Q���
�
�'��-��
�
�(�#�.��
�
�h��$rc���d}tjd|�\}}}|j|d�d}|j||v|�d|dd�d���|j	d	|�y)
Nz�if 1:
            import _testcapi
            try:
                raise _testcapi.RecursingInfinitelyError
            finally:
                print('Done.')
        r:rOs0RecursionError: maximum recursion depth exceededz not found in i�z... (truncated))rvr;)r
r=r6r�r�)rr�r?r@r7rs      r�-test_recursion_normalizing_infinite_exceptionz<ExceptionTests.test_recursion_normalizing_infinite_exception�sn��
��%�:�:�4��F���C������Q��F������C���|�>�#�f�u�+��Xg�-h��i��
�
�h��$rc�z����d�}�fd���fd���fd��tj�}	|d����fD]6}|j|��5	|�|jd�ddd��8	tj
|�y#t$rY�,wxYw#1swY�hxYw#tj
|�wxYw)Nc��d}		tj|�	tj||z�y#t$r|dz
}YnwxYw�Er�)r`�setrecursionlimitrR)�n�depths  r�set_relative_recursion_limitzUExceptionTests.test_recursion_in_except_handler.<locals>.set_relative_recursion_limit�sS���E����)�)�%�0���!�!�%��'�*��	&���Q�J�E���s�4�A�Ac�.��	ddzy#��YyxYwr�r")�recurse_in_excepts�rrKzJExceptionTests.test_recursion_in_except_handler.<locals>.recurse_in_except�s���
$��!���
$�!�#�s�	�	c�.��	ddz��y#Y�xYwr�r")�recurse_after_excepts�rrMzMExceptionTests.test_recursion_in_except_handler.<locals>.recurse_after_except�s!���
��!��
!�"��
��s��c�2��	��y#��YyxYwrr")�recurse_in_body_and_excepts�rrOzSExceptionTests.test_recursion_in_except_handler.<locals>.recurse_in_body_and_except�s���
-�*�,��
-�*�,�s��	rH)�funcz#Should have raised a RecursionError)r`�getrecursionlimitr4rkrRrF)rrI�recursionlimitrPrMrOrKs    @@@r� test_recursion_in_except_handlerz/ExceptionTests.test_recursion_in_except_handler�s����		+�	$�	#�	-��.�.�0��	2�(��,�*�,@�B\�]���\�\�t�\�,�I����	�	�"G�H�
-�,�^�
�!�!�.�1��*�����-�,��
�!�!�.�1�sG�"B#�
B�B�B�'
B#�	B�B�B�B�B 	�B#�#B:c��d}t�5tjd|�\}}}|jd|�ddd�y#1swYyxYw)Na+if 1:
            import _testcapi
            class C(): pass
            def recurse(cnt):
                cnt -= 1
                if cnt:
                    recurse(cnt)
                else:
                    _testcapi.set_nomemory(0)
                    C()
            recurse(16)
        r:�MemoryError)rr
r=r�r>s     r�)test_recursion_normalizing_with_no_memoryz8ExceptionTests.test_recursion_normalizing_with_no_memory�sC����!�
"�(�>�>�t�T�J�L�B��S��M�M�.�#�.�#�
"�
"�s�-A�Ac�l����ddl�ddlm����fd�}|�}|�}�j||�y)Nr��raise_memoryerrorc���	���jd��j�S#t$r}|j}Yd}~�+d}~wwxYw)Nz Should have raised a MemoryError)rkrLr��	format_tb)rqr�rYr�	tracebacks  ���r�
raiseMemErrorz6ExceptionTests.test_MemoryError.<locals>.raiseMemError�sI���
>�!�#��	�	�<�=��&�&�r�*�*��	�
%��_�_���
%�s�,�	A�A�A)r\r�rYr6)rr]�tb1�tb2rYr\s`   @@r�test_MemoryErrorzExceptionTests.test_MemoryError�s0���	�/�	+��o���o������c�"rc��ddl}d}d}|jt|jd�|jd�}|j	t|�t
�|j
t|t��|j|j�|jd|�}|j|j|�|jd|��}|j
t||��Gd	�d
t�}|jd|||f�}|j
t||��|j
t||��|j|j|�|jdd
|ddi�}	|j
t|	|��|j|	jd�|j|	jd
�y)NrzThis is a test docstring.zThis is another test docstring.�error1z_testcapi.error1z_testcapi.error2z_testcapi.error3)�basec��eZdZy)�1ExceptionTests.test_exception_with_doc.<locals>.CNr�r"rrr�re"r�rr�z_testcapi.error4z_testcapi.error5r!r�rO)r�r^rX�make_exception_with_docr�rr��
issubclassr+rN�__doc__r6r�r�)
rr��doc2�doc4rb�error2�error3r��error4�error5s
          r�test_exception_with_docz&ExceptionTests.test_exception_with_doc	s����*��0�����+�y�'H�'H�"�	$��2�2�3E�F���
�
�d�6�l�D�)����
�6�9�5�6����&�.�.�)��2�2�3E�t�L���������.��2�2�3E�8>�3�@�����
�6�6�2�3�	��	��2�2�3E�t�4:�A�;�@�����
�6�6�2�3����
�6�1�-�.��������.��2�2�3E�r�39�C��8�E�����
�6�6�2�3�������1�%��������,rc�
����ddlm�Gd�d��d����fd�}	|�|jd�t�|j
��d�y#t$r!}|j	��d�Yd}~�Gd}~wwxYw)NrrXc��eZdZy)�3ExceptionTests.test_memory_error_cleanup.<locals>.CNr�r"rrr�rr6r�rr�c�L����}tj|����yr�r�r�)r�r�rYr�s ���r�innerz7ExceptionTests.test_memory_error_cleanup.<locals>.inner9s�����A����Q��B��rzMemoryError not raised)r�rYrkrL�assertNotEqualrr6)rrurqr�rYr�s   @@@r�test_memory_error_cleanupz(ExceptionTests.test_memory_error_cleanup1ss���	0�	�	�
��	 �	0��G�
�I�I�.�/��������t�$���	,������d�+�+��	,�s�A�	B�!A=�=Bc�����Gd�d��d����fd��	��|jd�t�|j	��d�y#t$r!}|j��d�Yd}~�Gd}~wwxYw)Nc��eZdZy)�6ExceptionTests.test_recursion_error_cleanup.<locals>.CNr�r"rrr�rzKr�rr�c�L����}tj|����yrrt)r�r�rur�s ���rruz:ExceptionTests.test_recursion_error_cleanup.<locals>.innerNs�����A����Q��B��GrzRecursionError not raised)rkrRrvrr6)rrqr�rur�s  @@@r�test_recursion_error_cleanupz+ExceptionTests.test_recursion_error_cleanupHsn���	�	�
��	�	3��G�
�I�I�1�2��������t�$���	,������d�+�+��	,�s�A�	A<�A7�7A<c��|jt�5}tjt�ddd�|jjjtj|j�y#1swY�IxYwr)	r^rD�os�listdirr<r6r�r��ENOTDIR)rr�s  r�test_errno_ENOTDIRz!ExceptionTests.test_errno_ENOTDIR]sP��
�
�
�w�
'�2��J�J�x� �(�������+�+�U�]�]�B�L�L�I�(�
'�s�A8�8Bc�8�Gd�d�}|�}tj�5}~t�|j|jj
|j�|j|jj�ddd�y#1swYyxYw)Nc��eZdZd�Zy)�1ExceptionTests.test_unraisable.<locals>.BrokenDelc��td�}|�)Nz
del is brokenr^�rr1s  rr�z9ExceptionTests.test_unraisable.<locals>.BrokenDel.__del__fs�� ��1���	rNr�r"rr�	BrokenDelr�es��
rr�)	r�catch_unraisable_exceptionrr6�
unraisabler�r��assertIsNotNone�
exc_traceback)rr�rr�s    r�test_unraisablezExceptionTests.test_unraisablecso��	�	��k��
�
/�
/�
1�R���L����R�]�]�1�1�9�3D�3D�E�� � ����!<�!<�=�2�
1�
1�s�A!B�Bc	�d�ttfD]}|j|�5	|d�}|�y#|$rGt�5}t	j
t	j��ddd�n#1swYnxYwYnwxYwj�}|jd|�|jd|�|j|j|�|tur|jd|�n|jd|�|j|jd��ddd���#1swY��"xYw)Nztest messager�z	raise excz<exception str() failed>r�)r[r(r4rr`�__excepthook__�exc_info�getvaluer�rr�r�)rr�r1r�reports     r�test_unhandledzExceptionTests.test_unhandledss���#�%7�8�H����h�'�<�"�>�2�C��I�9�� �<�(�*�f��*�*�C�L�L�N�;�+�*�*��<�� ���*���
�
�2�F�;��
�
�k�6�2��
�
�h�/�/��8��1�1��M�M�"<�f�E��M�M�.�&�9�������� 5�6�!(�'�'�s>�D%�
/�A;�%A,	�#	A;�,A5
�1A;�8D%�:A;�;B D%�%D/	c��d}tdd�D]C}tjd||z�\}}}|j|d�|jd|��Ey)Nz�if 1:
            import _testcapi
            class C(): pass
            _testcapi.set_nomemory(0, %d)
            C()
        rOr�r:)rO�xrU)rir
r=r�)rr�r�r?r@r7s      r�"test_memory_error_in_PyErr_PrintExz1ExceptionTests.test_memory_error_in_PyErr_PrintEx�sS�����q�"��A�(�>�>�t�T�A�X�N�L�B��S��M�M�"�h�'��M�M�.�#�.�rc����Gd�dt��Gd�dt����fd�}|�}|jd�|j��5|j���ddd�y#1swYyxYw)Nc��eZdZy)�BExceptionTests.test_yield_in_nested_try_excepts.<locals>.MainErrorNr�r"rr�	MainErrorr��r�rr�c��eZdZy)�AExceptionTests.test_yield_in_nested_try_excepts.<locals>.SubErrorNr�r"rr�SubErrorr��r�rr�c3�P�K�	���#�$r	d���#�$rY�wxYwwxYw�wrr")r�r�s��r�mainz=ExceptionTests.test_yield_in_nested_try_excepts.<locals>.main�sF�����
��k�!���
����� ������
�s(�&��#��#��#��#�&)r+r�r^r�)rr��coror�r�s   @@r� test_yield_in_nested_try_exceptsz/ExceptionTests.test_yield_in_nested_try_excepts�s\���	�	�	�	�y�	�	��v���	�	�$��
�
�
�y�
)��J�J�x�z�"�*�
)�
)�s�A0�0A9c����fd�}|�}	t�#t$r�jt|�d�YnwxYw�jt|�d�y)Nc3��K�	t�#t$rd��YnwxYw�jtj��d��y�wr�)r[rNr`r�r,s�rr`z?ExceptionTests.test_generator_doesnt_retain_old_exc2.<locals>.g�s?�����
� � ���
���
�����c�m�m�o�.��G�s�A��
�A��+ArOr�)rGr6r�)rr`r�s`  r�%test_generator_doesnt_retain_old_exc2z4ExceptionTests.test_generator_doesnt_retain_old_exc2�sS���	��c��	+�����	+����T�#�Y��*�	+������c��A�&s��$<�<c��d�}|jt�5|�}	ddzddd�y#t|�t|�Y�#xYw#1swYyxYw)Nc3�K�d����wr�r"r"rrr`z1ExceptionTests.test_raise_in_generator.<locals>.g�s�����G��r�rOr)r^r\r�)rr`r�s   r�test_raise_in_generatorz&ExceptionTests.test_raise_in_generator�sQ��	�
�
�
�0�
1���A�
��!��2�
1��
��Q���Q���
2�
1�s�A
�0�A
�A
�
Az Won't work if __debug__ is Falsec���ta	b|jd�y#t$r<}b|j	|t�|jt
|�d�Yd}~yd}~wwxYw)Nr��hello)rZ�AssertionErrorrkr	r:r6r5r*s  r�test_assert_shadowingz$ExceptionTests.test_assert_shadowing�s\��
#��	,���I�I�*�+��
�	.���!�!�!�^�4����S��V�W�-�-��	.�s�	A �2A�A c���Gd�dt�}	t�#t$r}|}Yd}~nd}~wwxYw	|�#t$rYnwxYwtd�D])}	t�#t$r
}Yd}~nd}~wwxYwt��+y)Nc��eZdZy)�BExceptionTests.test_memory_error_subclasses.<locals>.TestExceptionNr�r"rr�
TestExceptionr��r�rr�rH)rLr+rir)rr�r1�inst�_s     r�test_memory_error_subclassesz+ExceptionTests.test_memory_error_subclasses�s���	�K�	�	�����	��D��	��	�����	��	���r��A�
�!�!���
���
��
�L�
s.��	,�'�,�2�	>�>�A�	A)�$A)c��dtj�d�}tjd|�\}}}|j	d|�y)NzOif 1:
            import _testcapi
            _testcapi.run_in_subinterp("[0]*z")
            exit(0)
        r:rU)r`�maxsizer
�assert_python_okr�)rr�r?r�r7s     r�test_memory_error_in_subinterpz-ExceptionTests.test_memory_error_in_subinterp�sD��.�.1�k�k�]�;	���
#�3�3�D�$�?�
��A�s��
�
�n�c�*r)NNr@)Vrr r!r:rrr~r�r�r�r��unittest�skipIfrr`r�r�requires_resource�
bigmemtestr�rr�r��
skipUnless�platformr�r"r+r-r4r;r?rErHrJrOrRrYr	rarcrjrlr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrrrrr%r2r7rArCrSrVr`rorwr|r�r�r�r�r�r�r�r�r�r�r"rrr/r/,s���4�RC�hI�0'Q�R7�"2�b)�H�X�_�_�W����+�-X�Y��W���u�%��W�����5�9�/�:�&�Z�/�
�+��+�Z%0�N�X�������0�3�5�;�5�;�I@�V!�$�
2�6.�*-�
H�E�	0�'� 1�$*��
-��
-�2�	�	�w�r�>�<
+�+�&+�6
3�+��2:�:�
8�
9�9�
�&)�PD�&"(�H-(�^+�7�$+�$#i�J<��D��D�>��W���u�%��&����4%��4%�l�%��%�$,2�^�/��/�*�#��#�$�%-��%-�N�%��%�,�%��%�(J�>� 7�*�/��/� #�.'�$
��X����$F�G�
,�H�
,��<+rr/c�$�eZdZd�Zd�Zd�Zd�Zy)�NameErrorTestsc�v�	ty#t$r&}|jd|j�Yd}~yd}~wwxYw)N�bluch)r�rMr6rr�s  r�test_name_error_has_namez'NameErrorTests.test_name_error_has_names1��	0����	0����W�c�h�h�/�/��	0�s�	�	8�3�8c�H���fd�}	|��jd��jdj��y#�j$rQtj�5}t	j
t	j��ddd�n#1swYnxYwY��wxYw)Nc�h���jtd�5tddd�y#1swYyxYw)N�aaa)r�rM�aabr,s�rr\z)NameErrorTests.test_issue45826.<locals>.fs"����'�'�	�5�9��:�9�9�s�(�1z%assertRaisesRegex should have failed.r�)	rk�failureExceptionrrr`r�r�r�r��rr\r7s`  r�test_issue45826zNameErrorTests.test_issue45826sz���	�	?�
�C�

�I�I�=�>��
�
�e�S�\�\�^�,��
�$�$�	4��(�(�*�c��"�"�C�L�L�N�3�+�*�*��	4�s)�A�#B!�$%B�		B!�B	�B!� B!c�T�d�}	|�|j
dj��|j
d|j��y#t$rQtj�5}tjtj
��ddd�n#1swYnxYwY��wxYw)Nc�j�	ty#t$r }|jd�t��d}~wwxYwr)�nonsenser	r9r\)rs rr\z1NameErrorTests.test_issue45826_focused.<locals>.f&s1��
*��� �
*�� � ��&�'�)�)��
*�s�	�	2�-�2r�r\)r\rrr`r�r�r�r�r�s   r�test_issue45826_focusedz&NameErrorTests.test_issue45826_focused%s{��	*�	4�
�C�
	
�
�
�j�#�,�,�.�1��
�
�)�3�<�<�>�:��!�	4��(�(�*�c��"�"�C�L�L�N�3�+�*�*��	4�s)�A
�
B'�*%B�	B'�B!	�B'�&B'c�6�d�}|jt|�y)Nc���G�fd�d��y)Nc���eZdZW�y)�;NameErrorTests.test_gh_111654.<locals>.f.<locals>.TestClassNr���	TestClasss�rr�r�8s���rr�r"r�s@rr\z(NameErrorTests.test_gh_111654.<locals>.f7s
���
�
r)r^rM�rr\s  r�test_gh_111654zNameErrorTests.test_gh_1116546s��	�	
���)�Q�'rN)rr r!r�r�r�r�r"rrr�r�s��0�-� ;�"(rr�c��eZdZd�Zd�Zd�Zy)�AttributeErrorTestsc�&�td�}|j|j�|j|j�t	�}tdd|��}|j|jd�|j
|j|�y)NzOuch!�Ouch�carryr)r<rNrrr�r6r�)rr1�sentinels   r�test_attributesz#AttributeErrorTests.test_attributesAsk���W�%�����#�(�(�#����#�'�'�"��8���V�'�x�@��������7�+��
�
�c�g�g�x�(rc��Gd�d�}|�}	|j	t
j
|d�y#t$rB}|jd|j�|j||j�Yd}~�^d}~wwxYw#t$rB}|jd|j�|j||j�Yd}~yd}~wwxYw)Nc��eZdZdZy)�<AttributeErrorTests.test_getattr_has_name_and_obj.<locals>.AN�rr r!�blechr"rrr�r�Ms���Err�r�)r�r<r6rrr��__getattribute__�rr�rr1s    r�test_getattr_has_name_and_objz1AttributeErrorTests.test_getattr_has_name_and_objLs���	�	��c��	+��I�I�	+��#�#�C��1��	�	+����W�c�h�h�/����S�#�'�'�*�*��	+��
�	+����W�c�h�h�/����S�#�'�'�*�*��	+�s,�7�B�	B�8A=�=B�	C�8C�Cc���Gd�d�}|�}	|j�y#t$rB}|jd|j�|j||j�Yd}~yd}~wwxYw)Nc��eZdZd�Zy)�GAttributeErrorTests.test_getattr_has_name_and_obj_for_method.<locals>.Ac��yrr"r,s rr�zMAttributeErrorTests.test_getattr_has_name_and_obj_for_method.<locals>.A.blech^s��rNr�r"rrr�r�]s��
rr�r�)r�r<r6rrr�s    r�(test_getattr_has_name_and_obj_for_methodz<AttributeErrorTests.test_getattr_has_name_and_obj_for_method\s^��	�	��c��	+��I�I�K���	+����W�c�h�h�/����S�#�'�'�*�*��	+�s�$�	A/�8A*�*A/N)rr r!r�r�r�r"rrr�r�@s��	)�+� 
+rr�c�$�eZdZd�Zd�Zd�Zd�Zy)�ImportErrorTestsc�Z�td�}|j|j�|j|j�tdd��}|j	|jd�|j|j�tdd��}|j	|jd�|j|j�tddd��}|j	|jd�|j	|jd�d}|jt|�5tdd	�
�ddd�|jt|�5tddd	��ddd�|jt|�5tdd
d	��ddd�|jt|�5td	�
�ddd�|jt|�5tdd	d��ddd�y#1swY��xYw#1swY��xYw#1swY�zxYw#1swY�[xYw#1swYyxYw)N�test�
somemodule�r�somepath��path�somename)r�rz8'invalid' is an invalid keyword argument for ImportError�keyword)�invalidr)rr�r�)r�r�T)r��another)rErNrr�r6r�rZ)rr1rvs   rr�z ImportErrorTests.test_attributesms����&�!�����#�(�(�#����#�(�(�#��&�|�4��������<�0����#�(�(�#��&�z�2��������:�.����#�(�(�#��&�z�
�C��������:�.�������:�.�H��
�
#�
#�I�s�
3���	�2�4��
#�
#�I�s�
3���V�Y�?�4��
#�
#�I�s�
3���V�Y�?�4��
#�
#�I�s�
3��	�*�4��
#�
#�I�s�
3���	�4�@�4�
3�4�
3��4�
3��4�
3��4�
3��4�
3�s<�(G1�G=�H	�.
H�H!�1G:�=H�	H�H�!H*c��tddd��}|j|jd�|j|jd�|j|jd�|j|j
d�|j
�|j|jd�|j|jd�|j|jd�|j|j
d�y)Nr�rr��rr��r�r")rEr6r�rvrr�rr�s  r�test_reset_attributesz&ImportErrorTests.test_reset_attributes�s����&�v�F�;��������9�-�������&�)�������6�*�������6�*�	����������2�&�������$�'�������4�(�������4�(rc��tdtfd��5d}t|�}|jt	|�t	|��ddd�y#1swYyxYw)Nr!T)�quietsabc)r�BytesWarningrEr6r5)r�argr1s   r�test_non_str_argumentz&ImportErrorTests.test_non_str_argument�sD��
�R��.�d�
;��C��c�"�C����S��X�s�3�x�0�<�
;�
;�s�2A�Ac��t�td��td��tdd��fD�]�}tdi|��}ttjdz�D]�}tj
tj||��}|j|jd�|j|jd�|j|j|j�|j|j|j���tjtjfD]�}||�}|j|jd�|j|jd�|j|j|j�|j|j|j������y)	Nr�r�r�r�r�r�rOr�)rrErirrrerr6r�rvrr��copy�deepcopy)rr�orig�protor1r�s      r�test_copy_picklez!ImportErrorTests.test_copy_pickle�sA���v���,���,���*�=�?�F��0��0�D��v�6�6��:�;���l�l�6�<�<��e�#<�=��� � ����9�5�� � ����&�1�� � ����4�9�9�5�� � ����4�9�9�5�<��Y�Y��
�
�-����g��� � ����9�5�� � ����&�1�� � ����4�9�9�5�� � ����4�9�9�5�.�?rN)rr r!r�r�r�rr"rrr�r�ks�� A�D)�1�6rr�c��t|t�r6ttdd��5}|j	t|��ddd�n*ttd�5}|j	|�ddd�t
jdddt�\}}}|jd�j�S#1swY�HxYw#1swY�TxYw)Nr?r@rA�wbr9z-X�utf8)
r�r5rar
�writerr
r=r��
splitlines)r��testfile�_rc�_outr7s     r�
run_scriptr�s����&�#��
�&�#��
0�H��N�N�6�&�>�*�1�
0��&�$�
�8��N�N�6�"� �"�8�8���f�f�U�N�C��s��:�:�g��)�)�+�+�
1�
0�� �
�s�B0�B<�0B9�<Cc��eZdZd�Zd�Zy)�AssertionErrorTestsc�"�tt�yr)rr
r,s r�tearDownzAssertionErrorTests.tearDown�s	���v�rc�H�dgd�fdgd�fdgd�fdgd�fd	gd
�fd	j�gd
�fdjd�gd
�fd
gd�fdgd�fdgd�fg
}|D]@\}}|j|��5t|�}|j|dd|�ddd��By#1swY�MxYw)Nzassert None)z    assert Nonez           ^^^^r�zassert 0)z    assert 0z           ^r�zassert 1 > 2)z    assert 1 > 2�           ^^^^^r�zassert 1 > 2 and 3 > 2)z    assert 1 > 2 and 3 > 2z           ^^^^^^^^^^^^^^^r�uassert 1 > 2, "messäge")u    assert 1 > 2, "messäge"ruAssertionError: messägeu)# coding: latin1
assert 1 > 2, "messäge"�latin1z<
             assert (
                 1 > 2)
             )z
    1 > 2)�	    ^^^^^r�zG
             assert (
                 1 > 2), "Message"
             )z    1 > 2), "Message"r�AssertionError: MessagezZ
             assert (
                 1 > 2), \
                 "Message"
             )z
    1 > 2), \rr)r����)r�r4rr6)r�casesr�r�results     r�test_assertion_error_locationz1AssertionErrorTests.test_assertion_error_location�s��
��
���
���
�&��
�(��
�(�
.�
.�
0��
�:�
@�
@��
J��
���		
���		
��
�

�QS
��h!&��F�H����V��,�#�F�+��� � �����h�7�-�,�!&�,�,�s�,!B�B!	N)rr r!rrr"rrrr�s
���X8rrc�@�eZdZdZd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zy)
�SyntaxErrorTestsNc�j�dtd�fdtd�fdtd�fdtd�fdtd	�fd
td	�fdtd	�fdtd	�fd
td�fg	}|D]$\}}|j|��5	td|��y#t$rz}tj�5}tjtj��ddd�n#1swYnxYw|j|j��|}Yd}~nd}~wwxYw	ddd���#1swY��xYw)N)�bad.pyrOr��abcdefgrOr�z�
               File "bad.py", line 1
                 abcdefg
                  ^^^^^
             SyntaxError: bad bad
             )rrOr�rrOr�z�
               File "bad.py", line 1
                 abcdefg
                  ^
             SyntaxError: bad bad
             )rrOr�rrO���)rrOr�rrOr�z�
               File "bad.py", line 1
                 abcdefg
                    ^
             SyntaxError: bad bad
             )rrO���rrOrzn
               File "bad.py", line 1
                 abcdefg
             SyntaxError: bad bad
             )rrOr rrO���)rrOrrrOr)rrOrrrOr��rrOr�rrO�dz�
               File "bad.py", line 1
                 abcdefg
                  ^^^^^^
             SyntaxError: bad bad
             )r��bad bad)
rr4rSrrr`r�r�r�r�)rrr�rr1r7�
the_exceptions       r�test_range_of_offsetsz&SyntaxErrorTests.test_range_of_offsets$su��/�
���
�/�
���
�0�
���
�/�
���
�1�
���
�1�
���
�/�
���
�/�
���
�1�
���
�MN
��^$�N�D�(����4��(�(�%�i��6�6�$��#�(� �0�0�2�c��*�*�C�L�L�N�;�3�2�2���M�M�(�C�L�L�N�;�$'�M��	(��"�)�(�(�sH�	D)�B�	D�"D�6%C$	�	D�$C-
�))D�D)�D�D)�)D2	c�2�|jtt�d}t|j	d��}|j|dd�|j|dd�d}t|�}|j|dd�|j|dd	�y)
NuU# -*- coding: cp437 -*-
"¢¢¢¢¢¢" + f(4, x for x in range(1))
�cp437ru@    "┬ó┬ó┬ó┬ó┬ó┬ó" + f(4, x for x in range(1))rz-                          ^^^^^^^^^^^^^^^^^^^z# -*- coding: ascii -*-

(
z    (z    ^)�
addCleanuprr
rr�r6)rr�r7s   r�test_encodingszSyntaxErrorTests.test_encodings~s��������'�
M�	�����w�/�0������R��"d�e�����R��"Q�R�2���� ������R��'�*�����R��'�*rc�x�|jtt�td�}|j	d|d�y)N��z8SyntaxError: Non-UTF-8 code starting with '\x89' in filer�)r)rr
rr��rr7s  r�
test_non_utf8zSyntaxErrorTests.test_non_utf8�s0�������'���!���
�
�Q�SV�WY�SZ�[rc����fd�}|d�}�jt|�d��j|j��j|jd��j|j
d�|dj
��}�jt|�d��j|j��j|jd��j|j
d�|tdj
�z�}�jt|�d��j|j��j|jd��j|j
d�|dj
d��}�jt|�d��j|j��j|jd��j|j
d�|d	�}�jt|�d��j|j��j|jd��j|j
d�|d
�}�jt|�d��j|j��j|jd��j|j
d�y)Nc����jt�5}t|dd�ddd�|jS#1swYjSxYw)NrVrW)r^rSrjr�)r�r�rs  �r�try_compilez8SyntaxErrorTests.test_string_source.<locals>.try_compile�s>����"�"�;�/�2���
�F�3�0��<�<��0��<�<��s	�9�A
�return "ä"z,'return' outside function (<string>, line 1)rO��# coding: latin1
return "ä"rz,'return' outside function (<string>, line 2)��return "ä" #ääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääää��return "ä" # ääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääää)r6r5rNr�r�r�r�r)rr1r1s`  r�test_string_sourcez#SyntaxErrorTests.test_string_source�sE���	 �
�-�(������S��#Q�R����#�(�(�#�������Q�'��������,��-�.�.�0�1������S��#Q�R����#�(�(�#�������Q�'��������,��(�]�%9�%9�%;�;�<������S��#Q�R����#�(�(�#�������Q�'��������,��9�@�@��J�K������S��#Q�R����#�(�(�#�������Q�'��������,��5�6������S��#Q�R����#�(�(�#�������Q�'��������,��6�7������S��#Q�R����#�(�(�#�������Q�'��������,rc��|jtt�td�}|j	|ddd�ddg�tdj��}|j	|ddd�ddg�ttdj�z�}|j	|ddd�ddg�tdjd��}|j	|ddd�ddg�td�}|j	|d	dd
dg�|j	|dddd�td
�}|j	|d	dd
dg�|j	|dddd�y)Nr2rr�u    return "ä"z&SyntaxError: 'return' outside functionr4rr5rz    ^^^^^^^^^^^r#u�    return "ä" #äääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääär6u�    return "ä" # äääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääää)r)rr
rr6r�rr-s  r�test_file_sourcez!SyntaxErrorTests.test_file_source�s��������'���'������R�U��U��*�A�&C�	D���-�-�/�0������R�U��U��*�A�&C�	D���M�$8�$8�$:�:�;������R�U��U��*�A�&C�	D��8�?�?��I�J������R�U��U��*�A�&C�	D��4�5������R�S��*�A�$C�	D�	
����R���#��(E�F��5�6������R�S��*�A�$C�	D�	
����R���#��(F�Grc��d}td|�}|\}}}}}}|j||j�|j||j�|j||j�|j||j
�|j||j�|j||j�|jd|j�y)Nr"r$�	rSr6r�r�r�r�r�r�rv)	rr�r%r�r�r��errorr�r�s	         r�test_attributes_new_constructorz0SyntaxErrorTests.test_attributes_new_constructor�s���2��#�I�t�4�
�BF�?��&�&�%��Z�����=�#9�#9�:������!5�!5�6�����]�%=�%=�>������!5�!5�6�����]�%=�%=�>�����
� 2� 2�3�����M�$5�$5�6rc��d}td|�}|\}}}}|j||j�|j||j�|jd|j�|j||j
�|jd|j�|j||j�|jd|j�y)N)rrOr�rr$r;)rr�r%r�r�r�r<s       r�test_attributes_old_constructorz0SyntaxErrorTests.test_attributes_old_constructor�s���*��#�I�t�4�
�*.�'��&�&�%�����=�#9�#9�:������!5�!5�6�����}�7�7�8������!5�!5�6�����}�7�7�8�����
� 2� 2�3�����M�$5�$5�6rc��d}|jttd|�d}|jttd|�d}|jttd|�y)N)rrOr�r$)rrOr�r�r�r�r�)rrOr�rrO)r^rZrS�rr�s  r�test_incorrect_constructorz+SyntaxErrorTests.test_incorrect_constructor�sM�������)�[�)�T�B�+�����)�[�)�T�B�-�����)�[�)�T�Br)rr r!�maxDiffr&r*r.r7r9r=r?rBr"rrrr!s6���G�X(�t+� \�(-�T!H�F
7�
7�Crrc��eZdZd�Zy)�TestInvalidExceptionMatcherc��|jt�5	t�#d$rYnwxYw	ddd�n#1swYnxYw|jt�5	t�#tdf$rYnwxYw	ddd�y#1swYyxYw)Nr$)r^rZr[r,s r�'test_except_star_invalid_exception_typezCTestInvalidExceptionMatcher.test_except_star_invalid_exception_type	s}��
�
�
�y�
)�
� � ���
��
���	*�
)�
)���
�
�y�
)�
� � ����#�
��
���	*�
)�
)�sF�3��&�3�&�3�<�A7�A�A*�'A7�)A*�*A7�7BN)rr r!rGr"rrrErE	s��rrEc�N�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
y)
�PEP626Testsc��	|�|jd�g}j}|r[|j}|j|j�dn"|j|jjz
�|j}|r�[|jt|�|�y#t$r}|j}Yd}~��d}~wwxYw)Nr>)rkr+r�r�r�r�f_linenor��co_firstlinenor6�tuple)rr\rr��t�lines�frames       r�lineno_after_raisezPEP626Tests.lineno_after_raise	s���	-�
�C�
�I�I�+�,���
�I�I����J�J�E��L�L����.�����u�|�|�:�:�:�
��	�	�A�
�	
����u��x�0���	!�� � �A��	!�s�B!�!	C�*B;�;Cc�.�d�}|j|d�y)Nc��ddzyr�r"r"rr�simplez:PEP626Tests.test_lineno_after_raise_simple.<locals>.simple(	s��
�a�C�rrO�rQ)rrTs  r�test_lineno_after_raise_simplez*PEP626Tests.test_lineno_after_raise_simple'	s��	�	
�����*rc�.�d�}|j|d�y)Nc�(�	ddzy#ddzYyxYwr�r"r"rr�	in_exceptz@PEP626Tests.test_lineno_after_raise_in_except.<locals>.in_except.	s��
��!���
��!���s��r�rU)rrYs  r�!test_lineno_after_raise_in_exceptz-PEP626Tests.test_lineno_after_raise_in_except-	s��	�	
���	�1�-rc�.�d�}|j|d�y)Nc�<�	ddzy#t$r
}Yd}~yd}~wwxYwr�)rZr�s r�other_exceptz@PEP626Tests.test_lineno_after_other_except.<locals>.other_except7	s!��
��!����
���
�s��	�r�rU)rr]s  r�test_lineno_after_other_exceptz*PEP626Tests.test_lineno_after_other_except6	s��	�
	
����a�0rc�.�d�}|j|d�y)Nc�F�	ddzy#t$r}ddzYd}~yd}~wwxYwr�r*r�s r�in_named_exceptz@PEP626Tests.test_lineno_in_named_except.<locals>.in_named_except?	s(��
��!����
��!����
�s��	 �� r�rU)rras  r�test_lineno_in_named_exceptz'PEP626Tests.test_lineno_in_named_except>	s��	�	
�����3rc�.�d�}|j|d�y)Nc��	ddzy#wxYwr�r"r"rr�in_tryz.PEP626Tests.test_lineno_in_try.<locals>.in_tryH	s��
��!�����s��
r�rU)rres  r�test_lineno_in_tryzPEP626Tests.test_lineno_in_tryG	s��	�
	
�����*rc�.�d�}|j|d�y)Nc�&�		ddzy#ddzwxYwr�r"r"rr�in_finally_normalzDPEP626Tests.test_lineno_in_finally_normal.<locals>.in_finally_normalP	s"��
���!�����!���s�r�rU)rris  r�test_lineno_in_finally_normalz)PEP626Tests.test_lineno_in_finally_normalO	���	�	
��� 1�1�5rc�.�d�}|j|d�y)Nc�.�	ddzddzy#ddzwxYwr�r"r"rr�in_finally_exceptzDPEP626Tests.test_lineno_in_finally_except.<locals>.in_finally_exceptY	s&��
��!���!�����!���s�
�r�rU)rrns  r�test_lineno_in_finally_exceptz)PEP626Tests.test_lineno_in_finally_exceptX	rkrc�H��Gd�d���fd�}|j|d�y)Nc��eZdZd�Zd�Zy)�0PEP626Tests.test_lineno_after_with.<locals>.Noopc��|Srr"r,s rrz:PEP626Tests.test_lineno_after_with.<locals>.Noop.__enter__c	r�rc��yrr"rAs  rr�z9PEP626Tests.test_lineno_after_with.<locals>.Noop.__exit__e	s��rNr�r"rr�Nooprrb	s��
�
rruc�J����5ddz	ddd�y#1swYyxYwr�r")rus�r�
after_withz6PEP626Tests.test_lineno_after_with.<locals>.after_withg	s������!������s��"r�rU)rrwrus  @r�test_lineno_after_withz"PEP626Tests.test_lineno_after_witha	s$���	�	�
	�	
���
�A�.rc��d�}|j|d�|jjd��|_|j|d�y)Nc��ddzyr�r"r"rrr\z8PEP626Tests.test_missing_lineno_shows_as_none.<locals>.fn	s	��
�a�CrrOs�������)�co_linetable)rQ�__code__r�r�s  r�!test_missing_lineno_shows_as_nonez-PEP626Tests.test_missing_lineno_shows_as_nonem	sA��	�����1�%��Z�Z�'�'�5T�'�U��
�����4�(rc�J��Gd�d���fd�}|j|dd�y)Nc��eZdZd�Zd�Zy)�CPEP626Tests.test_lineno_after_raise_in_with_exit.<locals>.ExitFailsc��|Srr"r,s rrzMPEP626Tests.test_lineno_after_raise_in_with_exit.<locals>.ExitFails.__enter__v	r�rc��t�rr^rAs  rr�zLPEP626Tests.test_lineno_after_raise_in_with_exit.<locals>.ExitFails.__exit__x	s�� � rNr�r"rr�	ExitFailsr�u	s��
�
!rr�c�H����5ddzddd�y#1swYyxYwr�r")r�s�rrwzDPEP626Tests.test_lineno_after_raise_in_with_exit.<locals>.after_with{	s������!�����s��!rOrU)rrwr�s  @r�$test_lineno_after_raise_in_with_exitz0PEP626Tests.test_lineno_after_raise_in_with_exitt	s&���	!�	!�	�	
���
�A�q�1rN)rr r!rQrVrZr^rbrfrjrorxr}r�r"rrrIrI	s9��1�$+�.�1�4�+�6�6�
/�)�
2rrI�__main__)/r�r~r`r�rr�r��codecsr�textwrapr�test.supportrrrrr	r
r�test.support.import_helperr�test.support.os_helperr
r�test.support.warnings_helperrr�rr�rrEr+rr$r(�TestCaser/r�r�r�rrrrErIrr�r"rr�<module>r�sE���	�
��
�����/�/�/�5�1�7���!��Y���I��
+��+�_+�X�&�&�_+�D7-(�X�&�&�-(�d&+�(�+�+�&+�VJ6�x�(�(�J6�Z,�\8�(�+�+�\8�~`C�x�(�(�`C�F�(�"3�"3��k2�(�#�#�k2�Z�z���H�M�M�O���QK���G��s�E�E
�	E


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