
    Ng                         d dl Z d dlZd dlZd dlZd dlZd dlmZ d dlmZ	 ddl
mZ e j        d             Z G d dej                  ZdS )	    N)open)join   )extended_iglobc              #      K   t          t          | |          dd          5 }|V  d d d            d S # 1 swxY w Y   d S )Nwutf8)encoding)r   pjoin)dir_pathfilenamefs      _/var/www/html/ai-engine/env/lib/python3.11/site-packages/Cython/Build/Tests/TestDependencies.pywritable_filer      s      	eHh''v	>	>	> !                 s   599c                   R    e Zd Zed             Zed             Zd Zd Zd Zd Z	dS )TestGlobbingc           	      h   t          j                    | _        t          j        d         dk     rt          j                    x}| _        n$t          j                    | _        | j        j	        }t          j
        |           dD ],}||dz   fD ] }dD ]}t          ||          }t          j        |           t          |d          5 }|                    d           d d d            n# 1 swxY w Y   t          |d          5 }|                    d	           d d d            n# 1 swxY w Y   t          |d
          5 }|                    d           d d d            n# 1 swxY w Y   t          |d          5 }|                    d	           d d d            n# 1 swxY w Y   ".d S )Nr      abcdxxyzfile2_pyx.pyxz""" PYX """file2_py.pyz
""" PY """file1_pyx.pyxfile1_py.py)osgetcwd	_orig_dirsysversion_infotempfilemkdtemp_tmpdirTemporaryDirectorynamechdirr   makedirsr   write)cls	temp_pathdir1dir1xdir2r   r   s          r   
setUpClasszTestGlobbing.setUpClass   s   	A""&.&6&8&88I"577CK(I
 	+ 	+Ds
+ + +! / /D$UD11HK)))&xAA 0Q///0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&x?? /1.../ / / / / / / / / / / / / / / #5/:: ,aGGN+++, , , , , , , , , , , , , , ,"5-88 +AGGM***+ + + + + + + + + + + + + + ++	+ 	+sH   	C+	+C/2C/D(	(D,/D,E&&E*-E*F##F'*F'c                     t          j        | j                   t          j        d         dk     r dd l}|                    | j                   d S | j                                         d S )Nr   r   )	r   r&   r   r   r    shutilrmtreer#   cleanup)r)   r0   s     r   tearDownClasszTestGlobbing.tearDownClass,   sd    
A""MMMMM#+&&&&&K!!!!!    c                 X   t          |          }t          d t          |          D                       }|                     ||           t          j        dk    rLd|v rJt          t          |                    dd                              }|                     ||           d S d S d S )Nc              3   V   K   | ]$}|                     d t          j                  V  %dS )/N)replacer   sep).0paths     r   	<genexpr>z+TestGlobbing.files_equal.<locals>.<genexpr>8   s2      ]]Tt||C88]]]]]]r4   \r7   )sortedr   assertListEqualr   r9   r8   )selfpatternexpected_filesmatched_filess       r   files_equalzTestGlobbing.files_equal5   s    //]]^T[E\E\]]]]]]N;;; 6T>>cWnn">'//#t2L2L#M#MNNM  ????? >nnr4   c                    t          ddd          t          ddd          g}|                     d|           |                     dg            |                     d|           |                     d|           |                     d	|d d
                    |                     d|d d
                    |                     d|d
d                     |                     d|d
d                     d S )Nar   r   r   za/x/*z	a/x/*.c12za/x/*.{py,pyx,c12}za/x/*.{py,pyx}za/x/*.{pyx}   z	a/x/*.pyxz
a/x/*.{py}za/x/*.py)r   rD   )r@   ax_filess     r   test_extended_iglob_simplez'TestGlobbing.test_extended_iglob_simple@   s    #sO44eCm6T6TU(+++b)))-x888)8444!555hrrl333x|444Xabb\22222r4   c           	         dD ]֊fddD             }|                      dz   |           |                      dz   g            |                      dz   |           |                      dz   |           |                      dz   |d d d	                    |                      d
z   |d d d	                    |                      dz   |dd d	                    |                      dz   |dd d	                    dD ]֊fddD             }dz   z   dz   }|                      |dz   |           |                      |dz   |           |                      |dz   |d d d	                    |                      |dz   |d d d	                    |                      |dz   |dd d	                    |                      |dz   |dd d	                    אd S )Nadc                 <    g | ]}d D ]}t          ||          S )r   r   r   )r:   dirnamer   basedirs      r   
<listcomp>z@TestGlobbing.test_extended_iglob_simple_star.<locals>.<listcomp>M   sL        @   gw11   r4   r   z/*/*z/*/*.c12z/*/*.{py,pyx,c12}z/*/*.{py,pyx}z
/*/*.{pyx}r   z/*/*.pyxz	/*/*.{py}rG   z/*/*.pyzxy*c                 H    g | ]}d |fv dD ]}t          ||          S )*rM   rN   )r:   rO   r   rP   subdirs      r   rQ   z@TestGlobbing.test_extended_iglob_simple_star.<locals>.<listcomp>\   sO       #w//$D 0/  '7H55////r4   r7   rS   z
*.{py,pyx}z*.{pyx}z*.pyxz*.{py}z*.py)rD   )r@   filesr;   rP   rT   s      @@r   test_extended_iglob_simple_starz,TestGlobbing.test_extended_iglob_simple_starK   sg    	= 	=G   $  E
 Wv-u555Wz12666W'::EBBBW6>>>W|3U33Q3Z@@@Wz151:>>>W{2E!$Q$K@@@Wy0%1+>>> = =    #(   }v-3  U333  !4e<<<  	!151:>>>  sss<<<  %1+>>>  add<<<<=	= 	=r4   c                 &   t          j        d          }d |D             }d |D             |z   }|                     d|           |                     d|           |                     d|           |                     d|           |                     dg            |                     d	g            |                     d
|           |                     d|           |                     d|           |                     d|           |                     d|           |                     d|           |                     d|           |                     d|           |                     d|           |                     d|d d d                    |                     d|d d d                    |                     d|d d d                    |                     d|d d d                    |                     d|d d d                    |                     d|dd d                    |                     d|dd d                    |                     d|dd d                    |                     d|dd d                    d S )N.c           	      D    g | ]}d D ]}dD ]}t          |||          S )r   rM   rN   )r:   rP   rO   r   s       r   rQ   z@TestGlobbing.test_extended_iglob_double_star.<locals>.<listcomp>l   sb     
 
 
 
 
 <	
 
  '7H--
 
 
 
 
r4   c                 8    g | ]}d D ]}t          ||          S ))r   r   rN   )r:   rP   r   s      r   rQ   z@TestGlobbing.test_extended_iglob_double_star.<locals>.<listcomp>r   sI     
 
 
<
 
  '8$$
 
 
 
r4   z*/*/*z*/*/**/*z*/**/*.*z**/*.*z
*/**/*.c12z**/*.c12z*/*/*.{py,pyx,c12}z*/*/**/*.{py,pyx,c12}z*/**/*/*.{py,pyx,c12}z**/*/*/*.{py,pyx,c12}z**/*.{py,pyx,c12}z*/*/*.{py,pyx}z**/*/*/*.{py,pyx}z*/**/*/*.{py,pyx}z**/*.{py,pyx}z*/*/*.{pyx}r   z
**/*.{pyx}z*/**/*/*.pyxz	*/*/*.pyxz**/*.pyxz
*/*/*.{py}rG   z	**/*.{py}z*/*/*.pyz**/*.py)r   listdirrD   )r@   basedirsrU   	all_filess       r   test_extended_iglob_double_starz,TestGlobbing.test_extended_iglob_double_starj   s   :c??
 
#
 
 

 
#
 
 
 		
 	%(((U+++Y///9---r***R(((-u5550%8880%8880%888,i888)5111,e444,e444)444ccc
333y1~666sss444eCCaCj111Ysss^444uQTT{333i1o666U14a4[111IaddO44444r4   N)
__name__
__module____qualname__classmethodr.   r3   rD   rI   rV   r^    r4   r   r   r      s        + + [+0 " " ["	@ 	@ 	@	3 	3 	3= = =>$5 $5 $5 $5 $5r4   r   )
contextlibos.pathr   r   r!   unittestior   r   r   Dependenciesr   contextmanagerr   TestCaser   rc   r4   r   <module>rk      s         



         ! ! ! ! ! ! ) ) ) ) ) )   
|5 |5 |5 |5 |58$ |5 |5 |5 |5 |5r4   