Your IP : 216.73.217.32


Current Path : /opt/alt/python38/lib64/python3.8/test/__pycache__/
Upload File :
Current File : //opt/alt/python38/lib64/python3.8/test/__pycache__/audit-tests.cpython-38.pyc

U

i�fT$�@s�dZddlZddlZGdd�d�Zdd�Zdd�Zd	d
�Zdd�Zejd
d��Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd �Zd!d"�Zd#d$�Zd%d&�Zd'd(�Zd)d*�Zed+kr�dd,lmZe�ejd-Ze�e�dS).z�This script contains the actual auditing tests.

It should not be imported directly, but should be run by the test_audit
module with arguments identifying each test.

�Nc@sJeZdZdZdefdd�Zdd�Zdd�Zd	d
�Ze	dd��Z
d
d�ZdS)�TestHookz�Used in standard hook tests to collect any logged events.

    Should be used in a with block to ensure that it has no impact
    after the test completes.
    NcCs |pd|_||_g|_d|_dS)N�F)�raise_on_events�exc_type�seen�closed)�selfrrrr�5/opt/alt/python38/lib64/python3.8/test/audit-tests.py�__init__s
zTestHook.__init__cGst�|�|S�N)�sys�addaudithook�r�arrr	�	__enter__s
zTestHook.__enter__cGs|��dSr)�closerrrr	�__exit__szTestHook.__exit__cCs
d|_dS)NT)r�rrrr	r szTestHook.closecCsdd�|jD�S)NcSsg|]}|d�qS)rr��.0�irrr	�
<listcomp>%sz(TestHook.seen_events.<locals>.<listcomp>)rrrrr	�seen_events#szTestHook.seen_eventscCs6|jr
dS|j�||f�||jkr2|�d|��dS)Nz
saw event )rr�appendrr)r�event�argsrrr	�__call__'s

zTestHook.__call__)�__name__�
__module__�__qualname__�__doc__�RuntimeErrorr
rrr�propertyrrrrrr	rs
rcCs||krt|�d|����dS)N� should equal ��AssertionError��x�yrrr	�assertEqual0sr)cCs||krt|�d|����dS)Nz should be in r$�ZelZseriesrrr	�assertIn5sr+cCs||krt|�d|����dS)Nz should not be in r$r*rrr	�assertNotIn:sr,cCsPt|�t|�kr"t|�d|����tdd�t||�D��rLt|�d|����dS)Nr#css|]\}}||kVqdSrr)rZixZiyrrr	�	<genexpr>Bsz&assertSequenceEqual.<locals>.<genexpr>)�lenr%�any�zipr&rrr	�assertSequenceEqual?sr1c
csnzdVdstd|����WnLtk
rh}z.t|t�r:�t|�|ksXt|�d|����W5d}~XYnXdS)NFz	expected z should be )r%�
BaseException�
isinstance�type)Zex_typeZexrrr	�assertRaisesFs
r5c	CsNt��>}t�dddd�t|jddd�t|jddd�W5QRXdS)N�
test_event���r)r7r8r9)rr�auditr)r��hookrrr	�
test_basicQsr=c
CsNtdd��:}t��(}t�d�td|j�td|j�W5QRXW5QRXdS)N�sys.addaudithook�rr6)rrr:r+rr,�Zhook1Zhook2rrr	�test_block_add_hookXs

rAcCsBtt��0tdtd��}t��}W5QRXW5QRXW5QRXdS)Nr>)rr)r5r2rr@rrr	�!test_block_add_hook_baseexceptionbs
�rBc
Cs~ddl}Gdd�d�}|�|��}|�d�}td|�|��tdd��.}tt��|�|�W5QRX|�|�W5QRXdS)Nrc@seZdZdd�ZdS)z test_pickle.<locals>.PicklePrintcSstdfS)N)�Pwned!)�str)r�prrr	�
__reduce_ex__qsz.test_pickle.<locals>.PicklePrint.__reduce_ex__N)rrrrFrrrr	�PicklePrintpsrG)r�b�cr7r8r9rCzpickle.find_classr?)�pickle�dumpsr)�loadsrr5r!)rJrGZ	payload_1Z	payload_2r<rrr	�test_picklems

rMc	Cs�Gdd�d�}Gdd�d�}Gdd�d|�}|�}t��<}d|_|f|_tjd�||f�|j|_d	|_||_W5QRXd
d�|j	D�}t
|df|df|df|d
fg|�dS)Nc@seZdZdS)ztest_monkeypatch.<locals>.AN�rrrrrrr	�A�srOc@seZdZdS)ztest_monkeypatch.<locals>.BNrNrrrr	�B�srPc@seZdZdS)ztest_monkeypatch.<locals>.CNrNrrrr	�C�srQ�X�	__bases__�{cSs(g|] \}}|dkr|d|df�qS)zobject.__setattr__rr7r�r�errrr	r�sz$test_monkeypatch.<locals>.<listcomp>r�	__class__)rrrSr4�__dict__�__set__r
Znew_attrrWrr1)rOrPrQrr<Zactualrrr	�test_monkeypatch�s �rZcCs<zddl}|��j}Wntk
r.d}YnXtdhd���}ttjddfttjdftddfttjdd	d
dddddd
�f	|tjdffD]*^}}|s�q�t	t
��||�W5QRXq�W5QRXdd�|jD�}dd�|jD�}tdd�tjddftjdfdtjdd	f|�r tjddfndfD�|�tg|�dS)Nr�openr?r8�r�rbr9�wb�w���FcWsdS)Nr7r�rrrr	�<lambda>��ztest_open.<locals>.<lambda>cSs0g|](\}}|dkr|dr|d|df�qS)r[r7rrrUrrr	r�sztest_open.<locals>.<listcomp>cSs0g|](\}}|dkr|ds|d|df�qS)r[r7rr8rrUrrr	r�scSsg|]}|dk	r|�qSrrrrrr	r�s�)r9r_)
�sslZcreate_default_context�load_dh_params�ImportErrorrr[r�argv�
executabler5r!rr1)rdrer<�fnrZactual_modeZactual_flagrrr	�	test_open�s<

�
���rjc	s�g��fdd�}t�|�}zNt��>}td�d|_td�d|_td�d|_td	�d
|_W5QRXW5t�|�Xtdgd��dS)
Ncs|jtjjkr��|�dSr)�f_coderr�__code__r)�framerr�Ztracedrr	�trace�sztest_cantrace.<locals>.trace�1F�2T�3r7�4rZcall�)r�settracer�evalZ__cantrace__r1)ro�oldr<rrnr	�
test_cantrace�s
rxc	CsFddl}t��.}|�dd�t|jdddd�d�W5QRXdS)Nrr`�r7r8)r`ry)�mmaprr)r)rzr<rrr	�	test_mmap�sr{cs0dd���fdd�}t�|��t_td��dS)NcSs|tk	rt�|||�dSr)r!r�__excepthook__)r�	exc_valueZexc_tbrrr	�
excepthook�sz#test_excepthook.<locals>.excepthookcsr|dkrnt|d|d�s8td|d�d|d�d���|d�kr\td|d�d	�����t|t|d��dS)
Nzsys.excepthookr8r7zExpected isinstance(z, �)r�	Expected � == )r3�	TypeError�
ValueError�print�repr�rr�r~rr	r<�sztest_excepthook.<locals>.hookzfatal-error)rr
r~r!r;rr�r	�test_excepthook�s

r�csDddlm}dd���fdd�}t�|��t_|td�dd�dS)	Nr)�write_unraisable_exccSsdSrr)Zhookargsrrr	�unraisablehooksz+test_unraisablehook.<locals>.unraisablehookcsL|dkrH|d�kr,td|d�d�����t|t|dj�|dj�dS)Nzsys.unraisablehookrr�r�r7)r�r�r�r}�err_msgr��r�rr	r<sz!test_unraisablehook.<locals>.hookznonfatal-errorzfor audit hook test)Z	_testcapir�rr
r�r!)r�r<rr�r	�test_unraisablehooks
r�cCs~ddlm}m}m}m}dd�}t�|�||d�}||d�z||d�Wntk
r`Yn
Xtd��|�	�}||�dS)Nr)�OpenKey�EnumKey�CloseKey�HKEY_LOCAL_MACHINEcSs |�d�sdSt|f|��dS)Nzwinreg.��
startswithr�r�rrr	r<s
ztest_winreg.<locals>.hookZSoftwarei'z%Expected EnumKey(HKLM, 10000) to fail)
�winregr�r�r�r�rr
�OSErrorr!ZDetach)r�r�r�r�r<�kZkvrrr	�test_winregs


r�cCsjddl}dd�}t�|�|��|�|j|j�}z(z|�d�Wntk
rVYnXW5|��XdS)NrcSs|�d�rt|f|��dS)Nzsocket.r�r�rrr	r<3s
ztest_socket.<locals>.hook)z	127.0.0.1i�)	�socketrr
ZgethostnameZAF_INETZSOCK_STREAMrZbind�	Exception)r�r<Zsockrrr	�test_socket0s

r�cCsJddl}dd�}t�|�|jdd�t�}|g}|�|�|�|�dS)NrcSs|�d�rt|f|��dS)Nzgc.r�r�rrr	r<Is
ztest_gc.<locals>.hookr7)Z
generation)�gcrr
�get_objects�objectZ
get_referrersZ
get_referents)r�r<r'r(rrr	�test_gcFs

r�cCsBddl}dd�}t�|�|��D]}t|t�r"||ks"t�q"dS)NrcWsdSrrrarrr	rb[rcz test_not_in_gc.<locals>.<lambda>)r�rr
r�r3�listr%)r�r<�orrr	�test_not_in_gcXs

r��__main__)�suppress_msvcrt_assertsr7)r �
contextlibrrr)r+r,r1�contextmanagerr5r=rArBrMrZrjrxr{r�r�r�r�r�r�rZtest.supportr�rgZtest�globalsrrrr	�<module>s8$


 +!