
    ьh>                     f    d Z ddlZddlmZ ddlZddlmZ ddlmZ ddlm	Z
 ddlmZ d Zd	 Zd
 Zy)z%Test suite for the deepreload module.    N)Path)TemporaryDirectory)modules_reloading)reload)prepended_to_syspathc                  \   t               5 } t        |       5  t        |       }t        |dz  dd      5 }|j	                  d       ddd       t        |dz  dd      5 }|j	                  d       ddd       d	dl}d	dl}|j                         }t        |d
g       t        ||j                        du sJ d|_
        t        j                  t        d      5  t        |d
g       ddd       t        t              d	k(  sJ |j                  rJ |j                         }d|_
        t        |       |j                  sJ t        ||j                        du sJ 	 ddd       ddd       y# 1 sw Y   ,xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   8xY w# 1 sw Y   yxY w)z?Test that dreload does deep reloads and skips excluded modules.zA.pywzutf-8)encodingz!class Object:
    pass
ok = True
NzB.pyz$import A
assert A.ok, 'we are fine'
r   A)excludeTFzwe are finematch)r   r   r   openwriter   BObjectdreload
isinstanceokpytestraisesAssertionErrorlenr   )tmpdir
tmpdirpathfr   r   objs         `/var/www/html/aiagenthome/venv/lib/python3.12/site-packages/IPython/lib/tests/test_deepreload.pytest_deepreloadr      s`   		!&)fJj6)3AQ>? Bj6)3AQ@A B ((*CAu%c188,444 AD~]CC5) D()Q...ttO8 ((*CADAJ44K4c188,5555 * 
	 BAAA DC! *) 
	sk   F"FE0FE=1A*FF
*A4FF"0E:5F=FF
FFF	F""F+c                  B    t        j                  t        t        d       y )N
modulename)r   r   	TypeErrorr        r   test_not_moduler%   2   s    
MM)Wl3r$   c                      t        j                  d      } t        j                  t        d      5  t        |        d d d        y # 1 sw Y   y xY w)Nfake_moduleznot in sys.modulesr   )types
ModuleTyper   r   ImportErrorr   )r'   s    r   test_not_in_sys_modulesr+   6   s6    ""=1K	{*>	? 
@	?	?s   AA)__doc__r(   pathlibr   r   tempfiler   IPython.lib.deepreloadr   r   r   IPython.utils.syspathcontextr   r   r%   r+   r#   r$   r   <module>r1      s/    +
    ' 4 4 =6@4r$   