Current File : //usr/local/apps/python3/lib/python3.11/test/__pycache__/test_audit.cpython-311.opt-2.pyc
�

�Ke����	ddlZddlZddlZddlmZddlmZddlmZeed��reed��sej	d���ej
d��ZGd	�d
ej��Z
edkrej��dSdS)�N)�support)�
import_helper)�	os_helper�addaudithook�auditz.test only relevant when sys.audit is availablezaudit-tests.pyc���eZdZdZej��d���Zej��d���Zd�Zd�Z	d�Z
d�Zd�Zd	�Z
d
�Zd�Zd�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�ZdS)�	AuditTestNc���tjtjdtg|�dtjtj���5}|���tj�|j��tj	�|j	��|j
r-|�d�|j	����ddd��dS#1swxYwYdS)N�-X utf8�utf-8��encoding�stdout�stderr�)
�
subprocess�Popen�sys�
executable�AUDIT_TESTS_PY�PIPE�waitr�
writelinesr�
returncode�fail�join)�self�args�ps   �9/usr/local/apps/python3/lib/python3.11/test/test_audit.py�do_testzAuditTest.do_tests��
�
�
�^�Y��>��>���?��?�	
�
�
�
	-�
�
�F�F�H�H�H��J�!�!�!�(�+�+�+��J�!�!�!�(�+�+�+��|�
-��	�	�"�'�'�!�(�+�+�,�,�,�
	-�
	-�
	-�
	-�
	-�
	-�
	-�
	-�
	-�
	-�
	-�
	-����
	-�
	-�
	-�
	-�
	-�
	-s�BC�C#�&C#c��g}tjtjdtg|�dtjtj���5}|���tj�|j��|j	d�|j
D��d�|j��fcddd��S#1swxYwYdS)Nrrr
c�\�g|])}|����d����*S)� )�strip�	partition)�.0�lines  r �
<listcomp>z(AuditTest.run_python.<locals>.<listcomp>0s.��B�B�B�������'�'��,�,�B�B�B�r)rrrrrrrrrrrr)rr�eventsrs    r �
run_pythonzAuditTest.run_python#s�����
�
�
�^�Y��>��>���?��?�	
�
�
�	�
�
�F�F�H�H�H��J�!�!�!�(�+�+�+���B�B���B�B�B������!�!��	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s�A)B9�9B=�B=c�0�|�d��dS)N�
test_basic�r!�rs r r.zAuditTest.test_basic4s�����\�"�"�"�"�"r*c�0�|�d��dS)N�test_block_add_hookr/r0s r r2zAuditTest.test_block_add_hook7s�����*�+�+�+�+�+r*c�0�|�d��dS)N�!test_block_add_hook_baseexceptionr/r0s r r4z+AuditTest.test_block_add_hook_baseexception:s�����8�9�9�9�9�9r*c�X�tjd��|�d��dS)N�marshal�test_marshal�r�
import_moduler!r0s r r7zAuditTest.test_marshal=s+���#�I�.�.�.����^�$�$�$�$�$r*c�X�tjd��|�d��dS)N�pickle�test_pickler8r0s r r<zAuditTest.test_pickleBs+���#�H�-�-�-����]�#�#�#�#�#r*c�0�|�d��dS)N�test_monkeypatchr/r0s r r>zAuditTest.test_monkeypatchGs�����'�(�(�(�(�(r*c�F�|�dtj��dS)N�	test_open)r!r�TESTFNr0s r r@zAuditTest.test_openJs�����[�)�"2�3�3�3�3�3r*c�0�|�d��dS)N�
test_cantracer/r0s r rCzAuditTest.test_cantraceMs�����_�%�%�%�%�%r*c�0�|�d��dS)N�	test_mmapr/r0s r rEzAuditTest.test_mmapPs�����[�!�!�!�!�!r*c��|�d��\}}}|s|�d|����|�dg|��dS)N�test_excepthookzExpected fatal exception
)zsys.excepthookr$zRuntimeError('fatal-error'))r,r�assertSequenceEqual�rrr+rs    r rGzAuditTest.test_excepthookSsh��%)�_�_�5F�%G�%G�"�
�F�F��	=��I�I�;�6�;�;�<�<�<�� � �
C�D�f�	
�	
�	
�	
�	
r*c���|�d��\}}}|r|�|��|�|ddd��|�|ddd��dS)N�test_unraisablehookrzsys.unraisablehook�zDRuntimeError('nonfatal-error') Exception ignored for audit hook test)r,r�assertEqualrIs    r rKzAuditTest.test_unraisablehook\s���%)�_�_�5J�%K�%K�"�
�F�F��	��I�I�f����������1��';�<�<�<�����1�I�a�L�R�	
�	
�	
�	
�	
r*c�"�tjd��|�d��\}}}|r|�|��|�|ddd��|�|ddd��|dd}|�|��|�dd	|�d
�g|d��|�dd	|�d�g|d��|�d
d	|g|d��dS)N�winreg�test_winregrzwinreg.OpenKey�zwinreg.OpenKey/resultrLzwinreg.EnumKeyr$z 0z 10000�zwinreg.PyHKEY.Detach�)rr9r,rrM�
assertTruerH)rrr+r�expecteds     r rPzAuditTest.test_winreggs ���#�H�-�-�-�%)�_�_�]�%C�%C�"�
�F�F��	��I�I�f����������1��'7�8�8�8�������1��'>�?�?�?��!�9�Q�<������!�!�!�� � �"2�C�H����!I�6�RS�9�U�U�U�� � �"2�C�H�9L�9L�9L�!M�v�VW�y�Y�Y�Y�� � �"8�#�x�!H�&�QR�)�T�T�T�T�Tr*c���tjd��|�d��\}}}|r|�|��tjrt
|ddi�|�|ddd��|�|ddd��|�|d	dd
��|�|d	d	�	d����dS)N�socket�test_socket�sep�
rzsocket.gethostnamerQzsocket.__new__rLzsocket.bindz('127.0.0.1', 8080))
rr9r,rr�verbose�printrMrT�endswithrIs    r rXzAuditTest.test_socketus����#�H�-�-�-�%)�_�_�]�%C�%C�"�
�F�F��	��I�I�f�����?�	%��6�$�t�$�$�$�������1��';�<�<�<�������1��'7�8�8�8�������1��}�5�5�5�����q�	�!��-�-�.C�D�D�E�E�E�E�Er*c���|�d��\}}}|r|�|��tjrt	|ddi�|�d�|D��gd���dS)N�test_gcrYrZc��g|]
}|d��S�r�)r'�events  r r)z%AuditTest.test_gc.<locals>.<listcomp>�s��*�*�*�%�U�1�X�*�*�*r*)zgc.get_objectszgc.get_referrerszgc.get_referents�r,rrr[r\rMrIs    r r_zAuditTest.test_gc�s���%)�_�_�Y�%?�%?�"�
�F�F��	��I�I�f�����?�	%��6�$�t�$�$�$����*�*�6�*�*�*�F�F�F�	
�	
�	
�	
�	
r*c��tjd��|�d��\}}}|r|�|��tjrt
|ddi�|�|ddd��|�|ddd��|�|d	dd
��|d	ddkr$|�d|d	d��dSdS)
Nzhttp.client�test_http_clientrYrZrzhttp.client.connectrLzwww.python.org 80rQzhttp.client.sendz
[cannot send]�HTTP)	rr9r,rrr[r\rM�assertInrIs    r �	test_httpzAuditTest.test_http�s����#�M�2�2�2�%)�_�_�5G�%H�%H�"�
�F�F��	��I�I�f�����?�	%��6�$�t�$�$�$�������1��'<�=�=�=�������1��':�;�;�;�������1��'9�:�:�:��!�9�Q�<�?�*�*��M�M�&�&��)�A�,�/�/�/�/�/�+�*r*c�H�tjd��}|�d��\}}}|r|�|��tjrt
|ddi�d�|D��}ddgdz}t|jd	��r|d
dgz
}|�	||��dS)N�sqlite3�test_sqlite3rYrZc��g|]
}|d��Srarb�r'�evs  r r)z*AuditTest.test_sqlite3.<locals>.<listcomp>�s��)�)�)�B�"�Q�%�)�)�)r*zsqlite3.connectzsqlite3.connect/handlerL�enable_load_extensionzsqlite3.enable_load_extensionzsqlite3.load_extension)
rr9r,rrr[r\�hasattr�
ConnectionrM)rrkrr+r�actualrUs       r rlzAuditTest.test_sqlite3�s����-�i�8�8��%)�_�_�^�%D�%D�"�
�F�F��	��I�I�f�����?�	%��6�$�t�$�$�$�)�)�&�)�)�)��%�'?�@�1�D���7�%�'>�?�?�	��/�(��
�H�	
�����*�*�*�*�*r*c���|�d��\}}}|r|�|��tjrt	|ddi�d�|D��}dg}|�||��dS)N�test_sys_getframerYrZc�.�g|]}|d|df��S)rrLrbrns  r r)z/AuditTest.test_sys_getframe.<locals>.<listcomp>�s$��2�2�2�R�2�a�5�"�Q�%�.�2�2�2r*)z
sys._getframerurd)rrr+rrsrUs      r ruzAuditTest.test_sys_getframe�s���%)�_�_�5H�%I�%I�"�
�F�F��	��I�I�f�����?�	%��6�$�t�$�$�$�2�2�6�2�2�2��:�;�������*�*�*�*�*r*c��tjd��}|�d��\}}}|r|�|��tjrt
dg|�Rddi�|�|ddd|j��fd	d|j	�d
�fdd|j
�fdd	d|j	�d
�fddd|j��fddd|j�d|j��fddd|j��fdg	��dS)N�syslog�test_syslogzEvents:rYz
  zsyslog.openlogr$z	python 0 z
syslog.syslogz testzsyslog.setlogmask)zsyslog.closelogrrz test2zaudit-tests.py 0 zaudit-tests.py zNone 0 )
rr9r,rrr[r\rH�LOG_USER�LOG_INFO�	LOG_DEBUG�
LOG_NDELAY�
LOG_LOCAL0)rrxrr+rs     r ryzAuditTest.test_syslog�s6���,�X�6�6��%)�_�_�]�%C�%C�"�
�F�F��	��I�I�f�����?�	2��)�1�f�1�1�1�&�1�1�1�� � ����%B���%B�%B�
C�
�c�f�o�#<�#<�#<�=�
 �#�&�*:�'<�=�'�
�c�f�o�#=�#=�#=�>�
�s�$I���$I�$I�J�
�s�$]�f�6G�$]�$]�&�J[�$]�$]�^�
�s�$?�f�o�$?�$?�@�'�
)�	
�	
�	
�	
�	
r*c�j�|�d��\}}}|r|�|��dSdS)N�test_not_in_gc)r,r)rr�_rs    r r�zAuditTest.test_not_in_gc�sE�� $���0@� A� A��
�A�v��	��I�I�f������	�	r*)�__name__�
__module__�__qualname__�maxDiffr�requires_subprocessr!r,r.r2r4r7r<r>r@rCrErGrKrPrXr_rirlruryr�rbr*r r	r	s��������G� �W� �"�"�-�-�#�"�-�!�W� �"�"���#�"�� #�#�#�,�,�,�:�:�:�%�%�%�
$�$�$�
)�)�)�4�4�4�&�&�&�"�"�"�
�
�
�	
�	
�	
�U�U�U�F�F�F�

�

�

�0�0�0�+�+�+�&
+�
+�
+�
�
�
�.����r*r	�__main__)rr�unittest�testr�test.supportrrrq�SkipTest�findfiler�TestCaser	r��mainrbr*r �<module>r�s�������
�
�
�
�����������&�&�&�&�&�&�"�"�"�"�"�"��w�s�N�#�#�N�7�7�3��+@�+@�N�
�(�
�L�
M�
M�M�!��!�"2�3�3��E�E�E�E�E��!�E�E�E�P�z����H�M�O�O�O�O�O��r*