shell bypass 403
o
`b* � @ sJ d dl Z d dlZd dlmZmZ G dd� dej�Zedkr#e�� dS dS )� N)� swap_item� swap_attrc @ s` e Zd ZdZdd� Zdd� Zdd� Zdd � Zd
d� Zdd
� Z dd� Z
dd� Zdd� Zdd� Z
dS )�RebindBuiltinsTestsz=Test all the ways that we can change/shadow globals/builtins.c G � dS )a� Perform TestCase-specific configuration on a function before testing.
By default, this does nothing. Example usage: spinning a function so
that a JIT will optimize it. Subclasses should override this as needed.
Args:
func: function to configure.
*args: any arguments that should be passed to func, if calling it.
Returns:
Nothing. Work will be performed on func in-place.
N� )�self�func�argsr r �:/usr/local/python-3.10/lib/python3.10/test/test_dynamic.py�configure_func
s
z"RebindBuiltinsTests.configure_funcc C sf dd� }| � |� | �|� d� tt� ddd� �� | �|� d� W d � d S 1 s,w Y d S )Nc S � t g d��S �N)� � � ��lenr r r r
�foo � z=RebindBuiltinsTests.test_globals_shadow_builtins.<locals>.foor r c S r �N� r ��xr r r
�<lambda># � zBRebindBuiltinsTests.test_globals_shadow_builtins.<locals>.<lambda>r �r �assertEqualr �globals�r r r r r
�test_globals_shadow_builtins s
"�z0RebindBuiltinsTests.test_globals_shadow_builtinsc C sd dd� }| � |� | �|� d� ttddd� �� | �|� d� W d � d S 1 s+w Y d S )Nc S r r
r r r r r
r ( r z5RebindBuiltinsTests.test_modify_builtins.<locals>.foor r c S r r r r r r r
r - r z:RebindBuiltinsTests.test_modify_builtins.<locals>.<lambda>r )r r r �builtinsr r r r
�test_modify_builtins&