Your IP : 216.73.216.196


Current Path : /opt/alt/python310/lib64/python3.10/test/__pycache__/
Upload File :
Current File : //opt/alt/python310/lib64/python3.10/test/__pycache__/test_baseexception.cpython-310.opt-2.pyc

o

0�i�@s`ddlZddlZddlZddlmZGdd�dej�ZGdd�dej�Ze	dkr.e�
�dSdS)�N)�systemc@sReZdZ	dd�Zdd�Zdd�ZdZdd	�Zd
d�Zdd
�Z	dd�Z
dd�ZdS)�ExceptionClassTestscCs|�ttt��dS�N)�
assertTrue�
issubclass�	Exception�object��self�r�>/opt/alt/python310/lib64/python3.10/test/test_baseexception.py�test_builtins_new_stylesz+ExceptionClassTests.test_builtins_new_stylecCs,dD]}|�t||�d|jj|f�qdS)N)�args�__str__�__repr__z%s missing %s attribute)r�hasattr�	__class__�__name__)r
Zins�attrrrr�verify_instance_interfaces
���z-ExceptionClassTests.verify_instance_interfacec	Csvt�}tj��D]}z
t|t�r|�|j�Wqty Yqwt	t
j�t
j�
t�dd�dd�}z�|����}ztt|�}WntyP|�d|�Ynw|�||d|�|�|�g}d}|D]�}|��}|�d�}	||	dd�}
d	|
vr�|
�d	�}|
|d
d�}|
d|d
�}
t�|kr�|�|
�qed|
vr�|
�d�}
|
d|
d
�}
ztt|
�}Wnty�|�d
|
�Ynw||	kr�|�||f�n||	kr�|dd|	kr�|��|dd|	ks�|�t||dd
�d|j|dd
jf�z|�|��Wn
t�yYnw|�|
|�|�|
�|}|	}qeW|��n|��w|�t|�dd|�dS)Nrzexception_hierarchy.txtzutf-8)�encodingzbase class %s not a built-inz%s not found�-��(�����[z%s not a built-in exceptionz%s is not a subclass of %sz%s not accounted for) �set�builtins�__dict__�valuesr�
BaseException�addr�	TypeError�open�os�path�join�split�__file__�readline�rstrip�getattr�AttributeError�failZassertIn�discard�rindex�index�platform_system�append�poprr�close�assertEqual�len)r
Zexc_set�object_Zinheritance_treeZsuperclass_name�last_excZsuperclassesZ
last_depthZexc_lineZdepthZexc_nameZparen_indexZ
platform_nameZleft_bracket�excrrr�test_inheritances�
�����





�����
�#z$ExceptionClassTests.test_inheritance)Zlengthr�str�reprc	Cs6t|j|�D]\}\}}|�||d|||f�qdS)Nz%s: %s != %s)�zip�interface_testsr6)r
�resultsZ	test_nameZgivenZexpectedrrr�interface_test_driverUs

��z)ExceptionClassTests.interface_test_drivercCsZd}t|�}t|j�dg|jd|gt|�t|�gt|�d|jj|fgf}|�|�dS)N�spamrrz%s(%r))rr7rr<r=rrrA)r
�argr:r@rrr�test_interface_single_argZs�z-ExceptionClassTests.test_interface_single_argcCsdd}tt|��}t|�}t|j�|g|j|gt|�t|�gt|�|jjt|j�gf}|�	|�dS)N�)
�tuple�rangerr7rr<r=rrrA)r
Z	arg_countrr:r@rrr�test_interface_multi_argcs�z,ExceptionClassTests.test_interface_multi_argcCsJt�}t|j�dg|jt�gt|�dgt|�|jjdgf}|�|�dS)Nr�z())	rr7rrFr<r=rrrA)r
r:r@rrr�test_interface_no_argms
�z)ExceptionClassTests.test_interface_no_argcsXddl}i�G�fdd�dt�}Gdd�dt�}t�}|��|�<|���|��dS)Nrcs$eZdZdef��fdd�Z�ZS)zXExceptionClassTests.test_setstate_refcount_no_crash.<locals>.HashThisKeyWillClearTheDict�returncs���t���Sr)�clear�super�__hash__r	)r�drrrN{s
zaExceptionClassTests.test_setstate_refcount_no_crash.<locals>.HashThisKeyWillClearTheDict.__hash__)r�
__module__�__qualname__�intrN�
__classcell__r�rO)rr�HashThisKeyWillClearTheDictzsrUc@�eZdZdS)zBExceptionClassTests.test_setstate_refcount_no_crash.<locals>.ValueN�rrPrQrrrr�Value~�rX)�gcr<r�__setstate__Zcollect)r
rZrUrXr:rrTr�test_setstate_refcount_no_crashus
z3ExceptionClassTests.test_setstate_refcount_no_crashN)rrPrQr
rr;r?rArDrHrJr\rrrrrs>	
rc@sFeZdZ	dd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dS)�
UsageTestscCs	z|�ty
YdSwr)r#r.�type�r
r8rrr�raise_fails�s�zUsageTests.raise_failscCs�	zzt�|y
YnwWntyYnty)|�dt|��Ynwzzt�|fy9YWdSwtyCYdStyU|�dt|��YdSw)Nz#TypeError expected when catching %sz;TypeError expected when catching %s as specified in a tuple)rr#r.r^r_rrr�catch_fails�s4�����zUsageTests.catch_failscC�*Gdd�dt�}|�|�|�|��dS)Nc@rV)zDUsageTests.test_raise_new_style_non_exception.<locals>.NewStyleClassNrWrrrr�
NewStyleClass�rYrc)rr`)r
rcrrr�"test_raise_new_style_non_exception�s
z-UsageTests.test_raise_new_style_non_exceptioncC�|�d�dS�NrB)r`r	rrr�test_raise_string��zUsageTests.test_raise_stringcCrb)Nc@rV)zAUsageTests.test_catch_non_BaseException.<locals>.NonBaseExceptionNrWrrrr�NonBaseException�rYri)rra)r
rirrr�test_catch_non_BaseException�s
z'UsageTests.test_catch_non_BaseExceptioncCs|�t��dSr)rar!r	rrr�!test_catch_BaseException_instance�sz,UsageTests.test_catch_BaseException_instancecCrerf)rar	rrr�test_catch_string�rhzUsageTests.test_catch_stringN)
rrPrQr`rardrgrjrkrlrrrrr]�s
r]�__main__)Zunittestrr%�platformrr2ZTestCaserr]r�mainrrrr�<module>sB�