File: //usr/local/lib/python3.10/test/test_importlib/__pycache__/test_namespace_pkgs.cpython-310.pyc
o
�it0 � @ s� d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dlmZ e j dd� �Z
e j dd� �ZG dd� dej�Z
G d d
� d
e
�ZG dd� de
�ZG d
d� de
�ZG dd� de
�ZG dd� de
�ZG dd� de
�ZG dd� de
�ZG dd� de
�ZG dd� de
�ZG dd� de
�ZG dd� de
�ZG dd � d e
�ZG d!d"� d"e
�ZG d#d$� d$e
�ZG d%d&� d&e
�ZG d'd(� d(e
�Zed)kr�e�� dS dS )*� N)�utilc c sZ � t j} t j�� }zdV W | t _t j�� t j�|� dS | t _t j�� t j�|� w )z�
Make sure sys.modules is the same object and has the same content
when exiting the context as when entering.
Similar to importlib.test.util.uncache, but doesn't require explicit
names.
N)�sys�modules�copy�clear�update)Zsys_modules_savedZsys_modules_copy� r �D/usr/local/lib/python3.10/test/test_importlib/test_namespace_pkgs.py�sys_modules_context s �
�
r
c k s� � | � dtj� | � dtj� tjdi | ��}|�' t� � dV W d � n1 s+w Y W d � dS W d � dS 1 sCw Y dS )z�
Save import state and sys.modules cache and restore it on exit.
Typical usage:
>>> with namespace_tree_context(path=['/tmp/xxyy/portion1',
... '/tmp/xxyy/portion2']):
... pass
� meta_path�
path_hooksNr )�
setdefaultr r r r Zimport_stater
)�kwargsZimport_contextr r r �namespace_tree_context&