Sindbad~EG File Manager
a
��g5� � @ s� d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dl Z d dl
Z
d dlZd dlZd dl
Z
d dlZd dlZd dlmZmZmZmZmZmZmZ d dlmZmZ d dlZd dlmZmZmZmZ dZ ddddddd�Z!eeddgej"d d d e#e!d
ddd�d
�Z$e$�%e!� G dd� d�Z&G dd� dej'e&�Z(G dd� dej'e&�Z)G dd� dej'e&�Z*G dd� dej'�Z+e,dk�r|e�-� dS )� N)�forget�make_legacy_pyc�unload�verbose�
no_tracing�create_empty_file�temp_dir)�make_script�make_zip_script)� _run_code�_run_module_code�
run_module�run_patha� # Check basic code execution
result = ['Top level assignment']
def f():
result.append('Lower level reference')
f()
del f
# Check the sys module
import sys
run_argv0 = sys.argv[0]
run_name_in_sys_modules = __name__ in sys.modules
module_in_sys_modules = (run_name_in_sys_modules and
globals() is sys.modules[__name__].__dict__)
# Check nested operation
import runpy
nested = runpy._run_module_code('x=1\n', mod_name='<run>')
)�__name__�__file__�
__cached__�__package__�__doc__�__spec__zTop level assignmentzLower level referenceF� z<run>)�xr �
__loader__)�sys�runpy�result� run_argv0�run_name_in_sys_modules�module_in_sys_modules�nestedc @ s$ e Zd Zg d�Zdd� Zdd� ZdS )�CodeExecutionMixin)�name�parent�origin�cached�has_location�submodule_search_locationsc C s* |� � }|� � }t|�D ]D}|�d�r|�d�r||vrB|�|� ||d vr|d �|� q|�d�}|�d�}|du r�| �|� n^|jdur�| �t|j�t|j�� | j D ]4}d| }|t
||�f}|t
||�f}| �||� q�| �t|�t|�� |D ](}||| f}||| f}| �||� q�dS )zbCheck two namespaces match.
Ignores any unspecified interpreter created names
�__r r Nz __spec__.)�copy�list�
startswith�endswith�popZassertIsNone�loader�assertEqual�type�CHECKED_SPEC_ATTRIBUTES�getattr�set) �self� result_ns�expected_ns�kZresult_specZ
expected_spec�attr�actualZexpected� r8 �+/usr/local/lib/python3.9/test/test_runpy.py�assertNamespaceMatchesP s4
�
z)CodeExecutionMixin.assertNamespaceMatchesc
C s� t � }|�� }|d }tjd }tj�||�}|d�}| �||� | �tjd |� | �tj�||�|� d|i} ||d<