shell bypass 403
o
`b� � @ s� d Z ddlZddlZddlZddlmZ ddlmZ ddlmZ e ed�r*e ed�s/e�
d��e�d �ZG d
d� dej
�ZedkrGe�� dS dS )
z)Tests for sys.audit and sys.addaudithook
� N)�support)�
import_helper)� os_helper�addaudithook�auditz.test only relevant when sys.audit is availablezaudit-tests.pyc @ s� e Zd Zdd� Zdd� Zdd� Zdd� Zd d
� Zdd� Zd
d� Z dd� Z
dd� Zdd� Zdd� Z
dd� Zdd� Zdd� Zdd� Zdd � Zd!d"� Zd#d$� Zd%S )&� AuditTestc G s� t jtjdtg|�dt jt jd��/}|�� tj�|j� tj �|j � |j
r8| �d�|j �� W d � d S W d � d S 1 sCw Y d S )N�-X utf8�utf-8��encoding�stdout�stderr� )
�
subprocess�Popen�sys�
executable�AUDIT_TESTS_PY�PIPE�waitr �
writelinesr
�
returncode�fail�join)�self�args�p� r �8/usr/local/python-3.10/lib/python3.10/test/test_audit.py�do_test s �� "�zAuditTest.do_testc G s� g }t jtjdtg|�dt jt jd��#}|�� tj�|j� |j dd� |j
D �d�|j�fW d � S 1 s9w Y d S )Nr r r
c S s g | ] }|� � �d ��qS )� )�strip� partition)�.0�liner r r �
<listcomp>, s z(AuditTest.run_python.<locals>.<listcomp>r )r r r r r r r r
r r r r )r r �eventsr r r r �
run_python s �
�$�zAuditTest.run_pythonc C � | � d� d S )N�
test_basic�r �r r r r r) 0 � zAuditTest.test_basicc C r( )N�test_block_add_hookr* r+ r r r r- 3 r, zAuditTest.test_block_add_hookc C r( )N�!test_block_add_hook_baseexceptionr* r+ r r r r. 6 r, z+AuditTest.test_block_add_hook_baseexceptionc C � t �d� | �d� d S )N�marshal�test_marshal�r �
import_moduler r+ r r r r1 9 �
zAuditTest.test_marshalc C r/ )N�pickle�test_pickler2 r+ r r r r6 >