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.pyc

o

0�i�@s`ddlZddlZddlZddlmZGdd�dej�ZGdd�dej�Ze	dkr.e�
�dSdS)�N)�systemc@sTeZdZdZdd�Zdd�Zdd�ZdZd	d
�Zdd�Z	d
d�Z
dd�Zdd�ZdS)�ExceptionClassTestsz]Tests for anything relating to exception objects themselves (e.g.,
    inheritance hierarchy)cCs|�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)
rrPrQ�__doc__r
rr;r?rArDrHrJr\rrrrrs>	
rc@sHeZdZdZdd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Z	dd�Z
dS)�
UsageTestszTest usage of exceptionscCsz|�tyYdSw)z6Make sure that raising 'object_' triggers a TypeError.N)r#r.�type�r
r8rrr�raise_fails�s
�zUsageTests.raise_failscCs�zzt�|yYnwWntyYnty(|�dt|��Ynwzzt�|fy8YWdSwtyBYdStyT|�dt|��YdSw)z,Catching 'object_' should raise a TypeError.z#TypeError expected when catching %sNz;TypeError expected when catching %s as specified in a tuple)rr#r.r_r`rrr�catch_fails�s2�����zUsageTests.catch_failscC�*Gdd�dt�}|�|�|�|��dS)Nc@rV)zDUsageTests.test_raise_new_style_non_exception.<locals>.NewStyleClassNrWrrrr�
NewStyleClass�rYrd)rra)r
rdrrr�"test_raise_new_style_non_exception�s
z-UsageTests.test_raise_new_style_non_exceptioncC�|�d�dS�NrB)rar	rrr�test_raise_string��zUsageTests.test_raise_stringcCrc)Nc@rV)zAUsageTests.test_catch_non_BaseException.<locals>.NonBaseExceptionNrWrrrr�NonBaseException�rYrj)rrb)r
rjrrr�test_catch_non_BaseException�s
z'UsageTests.test_catch_non_BaseExceptioncCs|�t��dSr)rbr!r	rrr�!test_catch_BaseException_instance�sz,UsageTests.test_catch_BaseException_instancecCrfrg)rbr	rrr�test_catch_string�rizUsageTests.test_catch_stringN)rrPrQr]rarbrerhrkrlrmrrrrr^�s
r^�__main__)Zunittestrr%�platformrr2ZTestCaserr^r�mainrrrr�<module>sB�