
    et                     h    d dl Z d dlZd dlZd dlZd dlZd Zd Zd Zd Z	d Z
d ZdZd	 Zd
 Zd ZdS )    Nc                     t          j        d          } t          j        d          }|                     | j                  t	          j        dd          k    sJ 	 |j         t                      # t          $ r Y nw xY wt          |t           j	                  sJ 	 |j         t                      # t          $ r Y d S w xY w)Nmathanything_not_realr   ư>)
lazyloadsinpipytestapproxAssertionErrorModuleNotFoundError
isinstanceDelayedImportErrorModule)r   r   s     Blib/python3.11/site-packages/lazy_loader/tests/test_lazy_loader.pytest_lazy_import_basicsr   
   s    9VD	"566 88DGa 6 66666   ')FGGGGG   s$   A2 2
A?>A?B4 4
CCc                     t          j        t                    5  t          j        d          } d d d            n# 1 swxY w Y   dt
          j        v sJ t          t
          j        d                   t          t                     k    sJ t          | t          j
        j                  sJ dt
          j        v sJ t
          j        d         | k    sJ d S )Nzhtml.parserhtml)r   warnsRuntimeWarningr   r   sysmodulestyper   	importlibutil_LazyModule)hps    r   test_lazy_import_subpackagesr      s    	n	%	% & &Y}%%& & & & & & & & & & & & & & &S[    F#$$V4444b).455555CK'''';}%++++++s   ;??c                     t          j        d          } t          j        d          }t          | t          j                  sJ dt
          j        v sJ t          |t           j                  sJ dt
          j        vsJ t          j	        d           t          j        d          }t          |t          j                  sJ dt
          j        v sJ |j
         t          |t          j                  sJ dt
          j        v sJ d S )Nr   r   numpy)r   r   r   types
ModuleTyper   r   r   r   importorskipr
   )r   r   nps      r   &test_lazy_import_impact_on_sys_modulesr%   )   s   9VD	"566dE,-----S[    ')FGGGGGck1111    	7		Bb%*+++++ck!!!!EEb%*+++++ck!!!!!!    c                  r   t          j        d          } t          j        d          }t          | t           j                  s3|                     | j                  t          j        dd          k    sJ t          |t           j                  r'	 |j         t                      # t          $ r Y d S w xY wd S )Nr    scipyr   r   )
r   r   r   r   r	   r
   r   r   r   r   )r$   sps     r   test_lazy_import_nonbuiltinsr*   >   s    	7		B	7		Bb$788 7vvbe}}a 6 66666"d344 	EE """" 	 	 	DD		 s   B& &
B43B4c                  8   d} ddg}ddgi}t           j        | ||d}d}t          |i |           t           j        | ||d d d d}|                                |                                k    sJ |                                D ]\  }}|||         |k    sJ d S )	Nmymodmysubmoduleanothersubmodulenot_real_submodsome_var_or_func)attachnamesubmodsmyallzA__getattr__, __lazy_dir__, __all__ = attach(name, submods, myall))r1   r2   r3   r4   __getattr____lazy_dir____all__)r   r1   execkeysitems)r2   r3   r4   loclssexpectedkvs           r   test_lazy_attachr@   K   s    D01G!3 45E +	 E 	LAB+ H ::<<8==??****   ! !1=8q====! !r&   c                      ddl m}  t          | j        t          j                  sJ t          | j        t          j                  sJ ddlm} t          |t          j                  sJ d S )Nr   fake_pkg)	some_func)lazy_loader.testsrC   r   rD   r!   FunctionType$lazy_loader.tests.fake_pkg.some_func)rC   rD   s     r   %test_attach_same_module_and_attr_namerH   h   s    ****** h(%*<=====h(%*<===== ?>>>>>i!34444444r&   zg
from . import rank
from ._gaussian import gaussian
from .edges import sobel, scharr, prewitt, roberts
c                     | dz  }|                     t                     t          j        dt	          |                    \  }}}h d}t           |                      t          |          cxk    r|k    sn J d S )Nstub.pyi	my_module>   ranksobelscharrprewittrobertsgaussian)
write_text	FAKE_STUBr   attach_stubstrset)tmp_pathstub_get_dir_allexpects         r   test_stub_loadingr]   }   s    j DOOI'SYY??D$JJJFttvv;;#d))----v--------r&   c                      ddl m}  t          j        | j        | j                  }|\  }}}|| j        k    sJ  |            |                                 k    sJ  |d          | j        k    sJ d S )Nr   rB   rD   )	rE   rC   r   rT   __name____file__r7   r6   rD   )rC   	from_stubstub_getterstub_dirstub_alls        r   test_stub_loading_parityre      s    ****** !2H4EFFI&/#K8x'''''8::..000000;{##x'9999999r&   c                 v   | dz  }|                     d           t          j        t          d          5  t	          j        dt          |                     d d d            n# 1 swxY w Y   t          j        t          d          5  t	          j        dd           d d d            d S # 1 swxY w Y   d S )NrJ   zfrom ..mod import func
z(Only within-module imports are supported)matchr2   z*Cannot load imports from non-existent stubz
not a file)rR   r   raises
ValueErrorr   rT   rU   )rW   rX   s     r   test_stub_loading_errorsrj      s2   j DOO.///	z)S	T	T	T , ,T+++, , , , , , , , , , , , , , , 
z)U	V	V	V / /.../ / / / / / / / / / / / / / / / / /s#   #A%%A),A)B..B25B2)r   r   r!   r   lazy_loaderr   r   r   r%   r*   r@   rH   rS   r]   re   rj    r&   r   <module>rm      s        



        *, , ," " "*
 
 
! ! !:5 5 5	. . .: : :/ / / / /r&   