shell bypass 403
o
`b� � @ s� d dl Z d dlZd dlZd dlZd dlZd dlmZ d dlmZ G dd� dej �Z
G dd� dej �ZejG dd � d ej ��Z
ed
krHe�� dS dS )� N)�support)�
script_helperc @ s e Zd Zdd� ZdS )�GeneralTestc C s t �d�}t�|� d S )Nz_test_atexit.py)r Zfindfiler Zrun_test_script)�selfZscript� r �9/usr/local/python-3.10/lib/python3.10/test/test_atexit.py�test_general s
zGeneralTest.test_generalN)�__name__�
__module__�__qualname__r r r r r r
s r c @ s e Zd Zdd� Zdd� ZdS )�FunctionalTestc C �@ t �d�}t�d|�}| �|j�� �� ddg� | �|j � d S )Nz�
import atexit
def f(msg):
print(msg)
atexit.register(f, "one")
atexit.register(f, "two")
�-cZtwoZone�
�textwrap�dedentr Zassert_python_ok�assertEqual�out�decode�
splitlinesZassertFalse�err�r �code�resr r r �
test_shutdown s
zFunctionalTest.test_shutdownc C r
)Na@
import sys
import atexit as atexit1
del sys.modules['atexit']
import atexit as atexit2
del sys.modules['atexit']
assert atexit2 is not atexit1
atexit1.register(print, "atexit1")
atexit2.register(print, "atexit2")
r Zatexit2Zatexit1r r r r r �test_atexit_instances s
z$FunctionalTest.test_atexit_instancesN)r r
r r r r r r r r s r c @ s$ e Zd Zdd� Zdd� Zdd� ZdS )�SubinterpreterTestc C �<