Your IP : 216.73.216.85


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.opt-1.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
cs>z
dVWn.tk
r8}zt|t�r(�W5d}~XYnXdSr)�
BaseException�
isinstancer%)Zex_typeZexrrr	�assertRaisesFs
r4c	CsNt��>}t�dddd�t|jddd�t|jddd�W5QRXdS)N�
test_event���r)r6r7r8)rr�auditr)r��hookrrr	�
test_basicQsr<c
CsNtdd��:}t��(}t�d�td|j�td|j�W5QRXW5QRXdS)N�sys.addaudithook�rr5)rrr9r+rr,�Zhook1Zhook2rrr	�test_block_add_hookXs

r@cCsBtt��0tdtd��}t��}W5QRXW5QRXW5QRXdS)Nr=)rr)r4r2rr?rrr	�!test_block_add_hook_baseexceptionbs
�rAc
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)rrrrErrrr	�PicklePrintpsrF)r�b�cr6r7r8rBzpickle.find_classr>)�pickle�dumpsr)�loadsrr4r!)rIrFZ	payload_1Z	payload_2r;rrr	�test_picklems

rLc	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�srNc@seZdZdS)ztest_monkeypatch.<locals>.BNrMrrrr	�B�srOc@seZdZdS)ztest_monkeypatch.<locals>.CNrMrrrr	�C�srP�X�	__bases__�{cSs(g|] \}}|dkr|d|df�qS)zobject.__setattr__rr6r�r�errrr	r�sz$test_monkeypatch.<locals>.<listcomp>r�	__class__)rrrR�type�__dict__�__set__r
Znew_attrrVrr1)rNrOrPrr;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>r7�r�rbr8�wb�w���FcWsdS)Nr6r�rrrr	�<lambda>��ztest_open.<locals>.<lambda>cSs0g|](\}}|dkr|dr|d|df�qS)r[r6rrrTrrr	r�sztest_open.<locals>.<listcomp>cSs0g|](\}}|dkr|ds|d|df�qS)r[r6rr7rrTrrr	r�scSsg|]}|dk	r|�qSrrrrrr	r�s�)r8r_)
�sslZcreate_default_context�load_dh_params�ImportErrorrr[r�argv�
executabler4r!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�3r6�4rZcall�)r�settracer�evalZ__cantrace__r1)ro�oldr;rrnr	�
test_cantrace�s
rxc	CsFddl}t��.}|�dd�t|jdddd�d�W5QRXdS)Nrr`�r6r7)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.excepthookr7r6zExpected 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�r6)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>.hookr6)Z
generation)�gcrr
�get_objects�objectZ
get_referrersZ
get_referents)r�r;r'r(rrr	�test_gcFs

r�cCs6ddl}dd�}t�|�|��D]}t|t�r"q"dS)NrcWsdSrrrarrr	rb[rcz test_not_in_gc.<locals>.<lambda>)r�rr
r�r3�list)r�r;�orrr	�test_not_in_gcXs

r��__main__)�suppress_msvcrt_assertsr6)r �
contextlibrrr)r+r,r1�contextmanagerr4r<r@rArLrZrjrxr{r�r�r�r�r�r�rZtest.supportr�rgZtest�globalsrrrr	�<module>s8$


 +!