
    f>                     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/cvtools/html/venv/lib/python3.12/site-packages/IPython/lib/tests/test_deepreload.pytest_deepreloadr      s   		 6!&) 	6fJj6)3A @Q>?@j6)3A BQ@AB ((*CAu%c188,444 AD~]C *C5)*()Q...ttO8 ((*CADAJ44K4c188,5555	66 6@ @B B* *!	6 	66 6sk   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   s>    ""=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$   