shell bypass 403
o
ab1 � @ sZ d dl Z d dlmZ d dlZed�Zd dlmZ G dd� dej�Zedkr+e� � dS dS )� N)�
import_module�_opcode)�stack_effectc @ s e Zd Zdd� Zdd� ZdS )�OpcodeTestsc C s� | � ttjd �d� | � ttjd �d� | � ttjd d�d� | � ttjd d�d� | � ttjd d�d � | �ttd
� | �tttjd � | �tttjd d� tj�� D ]8\}}| j|d��& |tjk rxt|� | �tt|d� nt|d� | �tt|� W d � n1 s�w Y q[t t
d��t tj�� � D ]'}| j|d
�� | �tt|� | �tt|d� W d � n1 s�w Y q�d S )NZPOP_TOP���ZDUP_TOP_TWO� ZBUILD_SLICEr � � ���i0u ��opname� )Zopcode)�assertEqualr �dis�opmapZassertRaises�
ValueError�items�subTest�
HAVE_ARGUMENT�set�range�values)�self�name�code� r �:/usr/local/python-3.10/lib/python3.10/test/test__opcode.py�test_stack_effect s2
������zOpcodeTests.test_stack_effectc
C s� t jd }| �t|d�d� | �t|ddd�d� | �t|ddd�d� t jd }| �t|d�d� | �t|ddd�d� | �t|ddd�d� t jd }| �t|d�d� | �t|ddd�d� | �t|ddd�d� t jt j }t j�� D ]]\}}| j|d
��K |t jk r�t|�}t|dd�}t|dd�} nt|d�}t|ddd�}t|ddd�} ||v r�| �|t || �� n| �||� | �| |� W d � n1 s�w Y qwd S )N�JUMP_IF_TRUE_OR_POPr T)�jumpFr �FOR_ITERr �JUMP_FORWARDr )
r r r r ZhasjabsZhasjrelr r r �max)
r r r r! Zhas_jumpr r �commonr Znojumpr r r �test_stack_effect_jump# s<