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__/audit-tests.cpython-310.opt-2.pyc

o

0�ii-�@s	ddlZddlZddlZGdd�d�Zdd�Zdd�Zdd	�Zd
d�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)�Zd*d+�Zd,d-�Zd.d/�Zd0d1�Zed2kr�dd3lmZe�ejd4Z e!�e �dSdS)5�Nc@sHeZdZ	defdd�Zdd�Zdd�Zdd	�Zed
d��Z	dd
�Z
dS)�TestHookNcCs |pd|_||_g|_d|_dS)N�F)�raise_on_events�exc_type�seen�closed)�selfrrrr�7/opt/alt/python310/lib64/python3.10/test/audit-tests.py�__init__s

zTestHook.__init__cGst�|�|S�N)�sys�addaudithook�r�arrr	�	__enter__s
zTestHook.__enter__cGs|��dSr)�closerrrr	�__exit__szTestHook.__exit__cCs
d|_dS)NT)r�rrrr	r!s
zTestHook.closecCsdd�|jD�S)NcSsg|]}|d�qS)rr��.0�irrr	�
<listcomp>&sz(TestHook.seen_events.<locals>.<listcomp>)rrrrr	�seen_events$szTestHook.seen_eventscCs6|jrdS|j�||f�||jvr|�d|��dS)Nz
saw event )rr�appendrr)r�event�argsrrr	�__call__(s
�zTestHook.__call__)�__name__�
__module__�__qualname__�RuntimeErrorr
rrr�propertyrrrrrr	r
s
rcCs||kr
t|�d|����dS)N� should equal ��AssertionError��x�yrrr	�assertEqual1��r(cCs||vr
t|�d|����dS)Nz should be in r#�ZelZseriesrrr	�assertIn6r)r+cCs||vr
t|�d|����dS)Nz should not be in r#r*rrr	�assertNotIn;r)r,cCsPt|�t|�krt|�d|����tdd�t||�D��r&t|�d|����dS)Nr"css�|]	\}}||kVqdSrr)rZixZiyrrr	�	<genexpr>Cs�z&assertSequenceEqual.<locals>.<genexpr>)�lenr$�any�zipr%rrr	�assertSequenceEqual@s
�r1c
csB�zdVWdSty }z
t|t�r�WYd}~dSd}~wwr)�
BaseException�
isinstancer$)Zex_typeZexrrr	�assertRaisesGs�
���r4cCsdt��%}t�dddd�t|jddd�t|jddd�Wd�dS1s+wYdS)N�
test_event���r)r6r7r8)rr�auditr(r��hookrrr	�
test_basicRs
"�r<c	Cs�tdd��5}t��}t�d�td|j�td|j�Wd�n1s%wYWd�dSWd�dS1s=wYdS)N�sys.addaudithook�rr5)rrr9r+rr,�Zhook1Zhook2rrr	�test_block_add_hookYs
��"�r@c
Cs�tt��:tdtd��}t��}Wd�n1swYWd�n1s)wYWd�dSWd�dS1sAwYdS)Nr=)rr)r4r2rr?rrr	�!test_block_add_hook_baseexceptioncs
�����"�rAc
Cs@ddl}d}|�|�}t��Y}t||�|�|���z?tdd��}|�||�Wd�n1s1wYtdd��}t||�|��Wd�n1sNwYWt�	d�nt�	d�wWd�n1sjwYdd�|j
D�}t|||jfgd�d	d�|j
D�}t||g�d
d�|j
D�}t|dg�dS)Nr�r�b�cr6r7r8ztest-marshal.bin�wb�rbcS�(g|]\}}|dkr|d|df�qS)z
marshal.dumpsrr6r�r�errrr	r~�(z test_marshal.<locals>.<listcomp>r7cSs g|]\}}|dkr|d�qS)z
marshal.loadsrrrHrrr	r�s cSsg|]
\}}|dkr|�qS)�marshal.loadrrHrrr	r�srK)
�marshal�dumpsrr(�loads�open�dump�load�os�unlinkrr1�version)rL�oZpayloadr;�f�actualrrr	�test_marshalns*
����rXc	Cs�ddl}Gdd�d�}|�|��}|�d�}td|�|��tdd��'}tt��
|�|�Wd�n1s8wY|�|�Wd�dS1sMwYdS)Nrc@seZdZdd�ZdS)z test_pickle.<locals>.PicklePrintcSstdfS)N)�Pwned!)�str)r�prrr	�
__reduce_ex__�sz.test_pickle.<locals>.PicklePrint.__reduce_ex__N)rrrr\rrrr	�PicklePrint�sr]rBrYzpickle.find_classr>)�picklerMr(rNrr4r )r^r]Z	payload_1Z	payload_2r;rrr	�test_pickle�s

�"�r_cCs�Gdd�d�}Gdd�d�}Gdd�d|�}|�}t��#}d|_|f|_tjd�||f�|j|_d	|_||_Wd�n1sBwYd
d�|j	D�}t
|df|df|df|d
fg|�dS)Nc@�eZdZdS)ztest_monkeypatch.<locals>.AN�rrrrrrr	�A��rbc@r`)ztest_monkeypatch.<locals>.BNrarrrr	�B�rcrdc@r`)ztest_monkeypatch.<locals>.CNrarrrr	�C�rcre�X�	__bases__�{cSrG)zobject.__setattr__rr6rrHrrr	r�rJz$test_monkeypatch.<locals>.<listcomp>r�	__class__)rrrg�type�__dict__�__set__r
Znew_attrrirr1)rbrdrerr;rWrrr	�test_monkeypatch�s ��rmcCs`zddl}|��j}Wntyd}Ynwtdhd��O}ttjddfttjdftddfttjdd	d
dddddd
�f	|tjdffD]^}}|sLqEt	t
��||�Wd�n1s_wYqEWd�n1sowYdd�|jD�}dd�|jD�}tdd�tjddftjdfdtjdd	f|r�tjddfndfD�|�tg|�dS)NrrOr>r7�rrFr8rE�w���FcWsdS)Nr6r�rrrr	�<lambda>��ztest_open.<locals>.<lambda>cSs0g|]\}}|dkr|dr|d|df�qS)rOr6rrrHrrr	r��0ztest_open.<locals>.<listcomp>cSs0g|]\}}|dkr|ds|d|df�qS)rOr6rr7rrHrrr	r�rtcSsg|]}|dur|�qSrrrrrr	r�s
�)r8ro)
�sslZcreate_default_context�load_dh_params�ImportErrorrrOr�argv�
executabler4r rr1)rurvr;�fnrZactual_modeZactual_flagrrr	�	test_open�sF�
�

����
���r{c	s�g��fdd�}t�|�}z6t��$}td�d|_td�d|_td�d|_td	�d
|_Wd�n1s8wYWt�|�nt�|�wtdgd��dS)
Ncs |jtjjkr��|�dSdSr)�f_coderr�__code__r)�framerr�Ztracedrr	�trace�s�ztest_cantrace.<locals>.trace�1F�2T�3r6�4rZcall�)r�settracer�evalZ__cantrace__r1)r��oldr;rrr	�
test_cantrace�s"
��r�cCs\ddl}t��}|�dd�t|jdddd�d�Wd�dS1s'wYdS)Nrrp�r6r7)rpr�)�mmaprr(r)r�r;rrr	�	test_mmap	s
"�r�cs,dd���fdd�}t�|��t_td��)NcSs|tur
t�|||�dSdSr)r r�__excepthook__)r�	exc_valueZexc_tbrrr	�
excepthookr)z#test_excepthook.<locals>.excepthookcsv|dkr9t|d|d�std|d�d|d�d���|d�kr.td|d�d	�����t|t|d��dSdS)
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_excepthooks

r�csDddlm}dd���fdd�}t�|��t_|td�dd�dS)	Nr)�write_unraisable_exccS�dSrr)Zhookargsrrr	�unraisablehook&sz+test_unraisablehook.<locals>.unraisablehookcsP|dkr&|d�krtd|d�d�����t|t|dj�|dj�dSdS)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_unraisablehook#s
r�cCszddlm}m}m}m}dd�}t�|�||d�}||d�z
||d�Wtd��ty2Ynw|�	�}||�dS)Nr)�OpenKey�EnumKey�CloseKey�HKEY_LOCAL_MACHINEcSs"|�d�sdSt|g|�R�dS)Nzwinreg.��
startswithr�r�rrr	r;7s
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_winreg4s


��r�cCs|ddl}dd�}t�|�|��|�|j|j�}zz|�d�Wn	ty*YnwW|��dSW|��dS|��w)NrcS�"|�d�rt|g|�R�dSdS)Nzsocket.r�r�rrr	r;N�
�ztest_socket.<locals>.hook)z	127.0.0.1i�)	�socketrr
ZgethostnameZAF_INETZSOCK_STREAMZbind�	Exceptionr)r�r;Zsockrrr	�test_socketKs
���r�cCsJddl}dd�}t�|�|jdd�t�}|g}|�|�|�|�dS)NrcSr�)Nzgc.r�r�rrr	r;dr�ztest_gc.<locals>.hookr6)Z
generation)�gcrr
�get_objects�objectZ
get_referrersZ
get_referents)r�r;r&r'rrr	�test_gcas

r�cCs|ddl}dd�}t�|�|j�d�}z%z|�dd�Wnty*tdd�YnwW|��dSW|��dS|��w)	NrcSs*|�d�rt|g|dd��R�dSdS)Nzhttp.client.r6r�r�rrr	r;vs
�ztest_http_client.<locals>.hookzwww.python.orgZGET�/zhttp.client.sendz
[cannot send])	Zhttp.clientrr
ZclientZHTTPConnectionZrequestr�r�r)Zhttpr;Zconnrrr	�test_http_clientss
���r�cCstddl}dd�}t�|�|�d�}|�d�}t|jd�r8|�d�z
|�d�Wt	d��|jy7YdSwdS)	NrcWr�)Nzsqlite3.r�r�rrr	r;�r�ztest_sqlite3.<locals>.hookz:memory:�enable_load_extensionF�testz'Expected sqlite3.load_extension to fail)
�sqlite3rr
ZconnectZ
Connection�hasattrr�Zload_extensionZOperationalErrorr )r�r;Zcx1Zcx2rrr	�test_sqlite3�s



���r�cCsxddl}dd�}t�|�|�d�|�d�|�|j�|��|�d�|j|j|jd�dt_	|��|��dS)NrcSr�)Nzsyslog.r�r�rrr	r;�r�ztest_syslog.<locals>.hookZpythonr�Ztest2)Z	logoptionZfacility)
�syslogrr
ZopenlogZ
setlogmaskZ	LOG_DEBUGZcloselogZ
LOG_NDELAYZ
LOG_LOCAL0rx)r�r;rrr	�test_syslog�s



r�cCs6ddl}dd�}t�|�|��D]}t|t�rqdS)NrcWr�rrrqrrr	rr�rsz test_not_in_gc.<locals>.<lambda>)r�rr
r�r3�list)r�r;rUrrr	�test_not_in_gc�s

��r��__main__)�suppress_msvcrt_assertsr6)"�
contextlibrRrrr(r+r,r1�contextmanagerr4r<r@rArXr_rmr{r�r�r�r�r�r�r�r�r�r�r�rZtest.supportr�rxr��globalsrrrr	�<module>sF$


 +!
�