+
    Bi@Y                         ^ RI t ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIHtH	t	 ^ RI
HtHtHtHtHt  ! R R]P                   4      t]R8X  d   ]P&                  ! 4        R# R# )    N)is_wasiPy_DEBUG)TESTFNskip_unless_symlinkcan_symlinkcreate_empty_file
change_cwdc                   V  a  ] tR t^t o RtR tR tR tR tR t	R t
R tR	 tR
 tR tR tR tR tR tR t]R 4       t]R 4       t]P0                  ! ]P4                  R8H  R4      R 4       tR tR t]P0                  ! ]P4                  R8H  R4      R 4       tR tR t R t!R t"R t#]P0                  ! ]$! ]%R4      R4      ]PL                  ! ]P4                  R 8H  R!4      R" 4       4       t']PL                  ! ](;'       d    ])R#4      R$ 4       t*R% t+R& t,R' t-R( t.R) t/R* t0R+ t1R,t2V t3R# )-	GlobTestsNc                    \         P                  P                  \         P                  P                  ! V P                  .VO5!  4      # N)ospathnormpathjointempdir)selfpartss   &*%/usr/lib/python3.14/test/test_glob.pynormGlobTests.norm   s-    wwT\\ BE BCC    c                    V Uu. uF/  p\         P                  P                  ! V P                  .VO5!  NK1  	  up# u upi r   )r   r   r   r   )r   tuplesr   s   &* r   joinsGlobTests.joins   s0    @FGuT\\2E2GGGs   5=c                    V P                   ! V!  p\        P                  P                  V4      w  r4\        P                  P	                  V4      '       g   \        P
                  ! V4       \        V4       R # r   )r   r   r   splitexistsmakedirsr   )r   r   filenamebasefiles   &*   r   mktempGlobTests.mktemp   sK    99e$WW]]8,
ww~~d##KK(#r   c                   \         R ,           V n        V P                  RR4       V P                  RR4       V P                  RR4       V P                  RR4       V P                  RR	4       V P                  R
R4       V P                  R4       V P                  R4       V P                  RRR4       V P                  RRRR4       \        4       '       d   \        P
                  ! V P                  R4      V P                  R4      4       \        P
                  ! RV P                  R4      4       \        P
                  ! \        P                  P                  RR4      V P                  R4      4       V P                  4        R# )_diraDaabF.aaG.bbH.JaaazzzFZZZEFbcdefghabrokensym1sym2sym3N)
r   r   r$   r   r   symlinkr   r   r   
open_dirfdr   s   &r   setUpGlobTests.setUp   s	   CE3E3E3E4 E6"EDC%Ct,==JJtyy*DIIf,=>JJx6!23JJrww||C/61BCr   c                   V P                   e!   \        P                  ! V P                   4       \        P                  \        P                  0\        P
                  8:  do   \        P                  \        P                  9   dL   \        P                  ! V P                  \        P                  \        P                  ,          4      V n         R # R V n         R # r   )dir_fdr   closeopenstatsupports_dir_fdscandirsupports_fdr   O_RDONLYO_DIRECTORYr>   s   &r   r=   GlobTests.open_dirfd0   sp    ;;"HHT[[!GGRWW!3!33

bnn8T''$,,bnn0LMDKDKr   c                    V P                   e!   \        P                  ! V P                   4       \        P                  ! V P
                  4       R # r   )rB   r   rC   shutilrmtreer   r>   s   &r   tearDownGlobTests.tearDown8   s,    ;;"HHT[[!dll#r   c                	   \        V4      ^8X  d   V^ ,          pM\        P                  P                  ! V!  p\        P                  P                  V P                  V4      p\
        P
                  ! V3/ VB p\
        P                  ! V3/ VB pV P                  \
        P                  ! V3/ VB V4       V Uu. uF  p\        P                  ! V4      NK  	  ppV P                  \
        P
                  ! \        P                  ! V4      3/ VB V4       V P                  \
        P                  ! \        P                  ! V4      3/ VB V4       \        V P                  4      ;_uu_ 4        \
        P
                  ! V3/ VB pV F2  pV P                  \        P                  P                  V4      V4       K4  	  VR8X  g   VR\        P                  ,           8X  d   VR,          p	MTp	T P                  V Uu. uF-  p\        P                  P                  V P                  V4      NK/  	  upV	4       V P                  \
        P                  ! V3/ VB V4       \        P                  ! V4      p
V Uu. uF  p\        P                  ! V4      NK  	  ppV P                  \
        P
                  ! V
3/ VB V4       V P                  \
        P                  ! V
3/ VB V4       RRR4       V P                  \
        P
                  ! V3RV P                  /VB V4       V P                  \
        P                  ! V3RV P                  /VB V4       \        P                  ! V P                  4      pV P                  \
        P
                  ! X
3RV/VB X4       V P                  \
        P                  ! V
3RV/VB V4       V P                  e   V P                  \
        P
                  ! V3RV P                  /VB V4       V P                  \
        P                  ! V3RV P                  /VB V4       V P                  \
        P
                  ! V
3RV P                  /VB V4       V P                  \
        P                  ! V
3RV P                  /VB V4       V# u upi u upi u upi   + '       g   i     EL; i)   **:rR   NNNroot_dirrB   )lenr   r   r   r   globiglobassertCountEqualfsencoder	   assertFalseisabsseprB   )r   r   kwargspatternpresres2xbresexpectedbpatternbres2btempdirs   &*,          r   rV   GlobTests.glob=   s   u:?AhGggllE*GGGLLw/ii$V$zz!&v&djj5f5s;(+,1A,diiAA&A4HdjjQB6BDI%%99W//D  q!115 $'TBFF]":r7!!$"O$Q277<<a#@$"O"*,!!$**W"?"?F{{7+H-12TR[[^TE2!!$))H"?"?G!!$**X"@"@%H &  	diiQ$,,Q&QSWXdjjR4<<R6RTXY;;t||,IIh<<V<e	EJJx=(=f=u	F ;;"!!		'@$++@@$H!!

7A4;;A&A4I!!		(A4;;A&A5J!!

8BDKKB6BEK 
M - #P 3 &%%s3   <R%0BR4>3R*1A	R4:R/AR4*
R44S	c                    \        V4      p\        V4      pV P                  \        V4      \        V4      4       V P                  \        V4      \        V4      4       R # r   )listassertEqualsetsorted)r   l1l2s   &&&r   assertSequencesEqual_noorder&GlobTests.assertSequencesEqual_noordero   sD    "X"XR#b'*VBZ0r   c                r   V P                   pV! V P                  R 4      V P                  R 4      .4       V! V P                  R R4      V P                  R R4      .4       V! V P                  R4      V P                  R4      .4       V! V P                  R4      . 4       \        P                  ! R4      pT P                  V Uu0 uF  p\	        V4      kK  	  up\
        04       \        P                  ! \        P                  P                  \        P                  R4      4      pT P                  V Uu0 uF  p\	        V4      kK  	  up\
        04       \        P                  ! R4      pT P                  V Uu0 uF  p\	        V4      kK  	  up\        04       \        P                  ! \        P                  P                  \        P                  ! \        P                  4      R4      4      pT P                  V Uu0 uF  p\	        V4      kK  	  up\        04       R# u upi u upi u upi u upi )r(   r)   r*   zymurgy*   *N)rp   rV   r   rk   typestrr   r   r   curdirbytesrY   )r   eqr`   rs   &   r   test_glob_literalGlobTests.test_glob_literalu   s   ..
499S>DIIcN+,
499S#3!4 56
499Udii./0
499Y$iin3/3a$q'3/#7iiRYY453/3a$q'3/#7iio3/3a$q'3/%9iiR[[%;TBC3/3a$q'3/%9 0/ 0/s   H%6H*<H/H4c                V   V P                  \        P                  ! R 4      . 4       V P                  \        P                  ! R4      . 4       V P                  \        P                  ! R V P                  R7      . 4       V P                  \        P                  ! R\        P                  ! V P                  4      R7      . 4       V P                  \        P                  ! R V P
                  R7      . 4       V P                  \        P                  ! RV P
                  R7      . 4       R# ) r   )rT   )rB   N)rk   rV   r   r   rY   rB   r>   s   &r   test_glob_empty_pattern!GlobTests.test_glob_empty_pattern   s    2+3,2=rB3T\\1JKRP2dkk:B?3t{{;R@r   c                t   V P                   pV! V P                  R 4      \        V P                  . RO4      4       V! V P                  R4      \        V P                  RR.4      4       V! V P                  R4      \        V P                  RR.4      4       V! V P                  R4      \        V P                  R.4      4       V! V P                  R	4      \        V P                  RR.4      4       V! V P                  R
4      \        V P                  RR.4      4       V! V P                  R4      . 4       R# )a*r(   r*   r1   *a.*r,   r.   ?aaaa?aa[ab]z*qN)r(   r*   r1   )rp   rV   mapr   r   rz   s   & r   test_glob_one_directory!GlobTests.test_glob_one_directory   s    ..
499T?C		+>?@
499T?C		C<89
499T?C		E5>:;
499USUG45
499USUEN;<
499XDIIu~ >?
499T?Br   c           	        V P                   p\        P                  P                  R 4      R 8X  d.   V! V P	                  RRR4      V P                  RRR4      .4       M>V! V P	                  RRR4      V P                  RRR4      V P                  RRR4      .4       V! V P	                  RRR4      V P                  RRR4      .4       R# )abCDr(   r5   zE*r4   r6   z*gN)rp   r   r   normcaserV   r   r   s   & r   test_glob_nested_directory$GlobTests.test_glob_nested_directory   s    ..77F#v-tyyeT*TYYsE4-H,IJ tyyeT*TYYsE4-H-1YYsE5-I-K L
499S%&3u)E(FGr   c           	     v   V P                   pV! V P                  R R4      V P                  RR4      .4       V! V P                  R R4      . 4       V! V P                  RR R R4      V P                  RRRR4      .4       V! V P                  RR4      V P                  R	R
4      V P                  RR4      .4       R# )rt   r)   r(   r   r5   r6   r7   z?a?*Fr1   r2   r*   r+   Nrp   rV   r   r   s   & r   test_glob_directory_names#GlobTests.test_glob_directory_names   s    ..
499S#3!4 56
499S$$
499S#sD)IIc5%./	1
499UD!DIIeV$<$(IIeS$9$; 	<r   c                   \         P                  '       d!   \         P                  \         P                  3M\         P                  3pV EF=  pV P                  \        P                  ! V P                  R 4      V,           4      . 4       V P                  \        P                  ! V P                  R4      V,           4      . 4       V P                  \        P                  ! V P                  R4      V,           4      V P                  R4      V,           .4       V P                  \        P                  ! V P                  R4      V^,          ,           4      V P                  R4      V^,          ,           .4       V P                  pV! \        P                  ! V P                  R4      V,           4      V P                  R4      \         P                  ,           V P                  R4      \         P                  ,           .4       V! \        P                  ! V P                  R4      V^,          ,           4      V P                  R4      \         P                  ,           V P                  R4      \         P                  ,           .4       EK@  	  R# zZ*Zr3   r1   zaa*r*   N)r   altsepr\   rk   rV   r   rp   r   sepsr\   rz   s   &   r   'test_glob_directory_with_trailing_slash1GlobTests.test_glob_directory_with_trailing_slash   s   &(iii		"bffYCTYYtyy'7#'=>CTYYtyy'7#'=>CTYYtyy'7#'=>"ii.457 TYYtyy'7#a%'?@"ii.Q679 22Btyy5)C/0		% 266)499U+;bff+DEG tyy5)CE12		% 266)499U+;bff+DEG# r   c           
        \         P                  '       d!   \         P                  \         P                  3M\         P                  3pV EF-  pV P                  \        P                  ! \         P
                  ! V P                  R 4      V,           4      4      . 4       V P                  \        P                  ! \         P
                  ! V P                  R4      V,           4      4      . 4       V P                  \        P                  ! \         P
                  ! V P                  R4      V,           4      4      \         P
                  ! V P                  R4      V,           4      .4       V P                  \        P                  ! \         P
                  ! V P                  R4      V^,          ,           4      4      \         P
                  ! V P                  R4      V^,          ,           4      .4       V P                  pV! \        P                  ! \         P
                  ! V P                  R4      V,           4      4      \         P
                  ! V P                  R4      \         P                  ,           4      \         P
                  ! V P                  R4      \         P                  ,           4      .4       V! \        P                  ! \         P
                  ! V P                  R4      V^,          ,           4      4      \         P
                  ! V P                  R4      \         P                  ,           4      \         P
                  ! V P                  R4      \         P                  ,           4      .4       EK0  	  R# r   )r   r   r\   rk   rV   rY   r   rp   r   s   &   r   -test_glob_bytes_directory_with_trailing_slash7GlobTests.test_glob_bytes_directory_with_trailing_slash   s    ')iii		"bffYCTYYr{{499U3Cc3I'JKRPTYYr{{499U3Cc3I'JKRPTYYr{{499U3Cc3I'JKDIIe,s2346TYYr{{499U3Cc!e3K'LMDIIe,s1u456822BtyyTYYu%5%;<=DIIe,rvv56DIIe,rvv5689 tyyTYYu%5A%=>?DIIe,rvv56DIIe,rvv5689 r   c           	         V P                   pV! V P                  R 4      V P                  R 4      .4       V! V P                  R R4      V P                  R R4      V P                  R R4      .4       V! V P                  R \        P                  ,           4      V P                  R 4      \        P                  ,           .4       V! V P                  RR4      V P                  RR4      V P                  RR4      V P                  R R4      .4       R	# )
r;   rt   r4   r6   r   r1   r2   r*   r+   N)rp   rV   r   r   r\   r   s   & r   test_glob_symlinksGlobTests.test_glob_symlinks   s    ..
499Vtyy012
499VS!DIIfd$;$(IIfe$<$> 	?
499Vbff_%		&(9BFF(B'CD
499S$IIeV$IIeS!499VT#:<	=r   c                N   V P                   pV! V P                  R 4      V P                  R4      V P                  R4      V P                  R4      .4       V! V P                  R4      V P                  R4      .4       V! V P                  R4      V P                  R4      .4       R# )zsym*r9   r:   r;   Nr   r   s   & r   test_glob_broken_symlinks#GlobTests.test_glob_broken_symlinks   s    ..
499Vtyy0$))F2C#yy02 	3
499Vtyy012
499Vtyy012r   win32zWin32 specific testc                   V P                   pV! \        P                  ! R 4      . 4       V! \        P                  ! R4      . 4       V! \        P                  ! R4      . 4       V! \        P                  ! R4      . 4       V! \        P                  ! R4      R.4       V! \        P                  ! R4      R.4       V! \        P                  ! R4      . 4       V! \        P                  ! R4      . 4       R# )	z*:s   *:z?:s   ?:z\\?\c:\s   \\?\c:\z\\*\*\s   \\*\*\N)rp   rV   r   s   & r   test_glob_magic_in_drive"GlobTests.test_glob_magic_in_drive   s    ..
499T?B
499UR 
499T?B
499UR 
499]#m_5
499^$~&67
499\"B'
499]#R(r   c                    V P                  \        P                  ! V4      V4       V P                  \        P                  ! \        P                  ! V4      4      \        P                  ! V4      4       R # r   )rk   rV   escaper   rY   )r   argrd   s   &&&r   check_escapeGlobTests.check_escape   sF    S)84R[[%56H8MNr   c                    V P                   pV! R R 4       V! RR4       V! RR4       V! RR4       V! RR4       V! R	R
4       R# )abc[z[[]?z[?]rt   z[*]z[[_/*?*/_]]z[[][[]_/[*][?][*]/_]]z/[[_/*?*/_]]/z/[[][[]_/[*][?][*]/_]]/Nr   r   checks   & r   test_escapeGlobTests.test_escape   sK    !!eUc5c5c5m45o89r   c                    V P                   pV! R R4       V! RR4       V! RR4       V! RR4       V! RR	4       V! R
R4       R# )z?:?z?:[?]z*:*z*:[*]z\\?\c:\?z
\\?\c:\[?]z\\*\*\*z	\\*\*\[*]z//?/c:/?z
//?/c:/[?]z//*/*/*z	//*/*/[*]Nr   r   s   & r   test_escape_windowsGlobTests.test_escape_windows  sI    !!eWeWk=)j,'j,'i%r   c                *    V P                   ! VR R/VB # )	recursiveTrV   r   r   r]   s   &*,r   rglobGlobTests.rglob  s    yy%:4:6::r   c                *    V P                   ! VR R/VB # )include_hiddenTr   r   s   &*,r   hglobGlobTests.hglob  s    yy%????r   c                   V P                   pRR.pV! V P                  R4      V P                  ! V!  4       V! V P                  R4      V P                  ! V!  4       R.pV! V P                  RR4      V P                  ! V!  4       R# )	r1   r   z*aar-   rS   Nr1   r,   r,   r-   )rp   r   r   )r   rz   lro   s   &   r   test_hidden_globGlobTests.test_hidden_glob  sq    ..x 
4::edjj!n-
4::edjj!n-^
4::dC $**b/2r   c                
   V P                   p. ROp\        4       '       d   V. RO,          pV! V P                  R4      V P                  ! R.VO5!  4       V! V P                  \        P
                  R4      V P                  ! \        P
                  R3.R V 4       O5!  4       . R Op\        4       '       d   VR!R".,          pV! V P                  RR4      V P                  ! R.VO5!  4       V! V P                  RR4      V P                  RRRRRR4      4       V! V P                  R	4      V P                  RRR4      4       RR.p\        4       '       d   VR.,          pV! V P                  RR 4      V P                  ! V!  4       . R#Op\        4       '       d   VR.,          pV! V P                  RR
4      V P                  ! V!  4       V! V P                  RR
R4      . 4       V! V P                  RRR4      V P                  RR4      4       V! V P                  RRR4      V P                  R4      4       \        V P                  4      ;_uu_ 4        \        P                  P                  pT! \        P                  ! RRR7      V Uu. uF  qe! V!  NK
  	  up4       T! \        P                  ! V! RR4      RR7      V Uu. uF  qe! V!  NK
  	  up4       T! \        P                  ! V! RR4      RR7      V Uu. uF  qe! V!  NK
  	  up4       T! \        P                  ! V! \        P
                  R4      RR7      V! \        P
                  R4      .V Uu. uF  qe! \        P
                  .VO5!  NK  	  up,           4       T! \        P                  ! V! \        P
                  RR4      RR7      V! \        P
                  R4      .V Uu. uF  qe! \        P
                  .VO5!  NK  	  up,           4       T! \        P                  ! V! \        P
                  RR4      RR7      V Uu. uF  qe! \        P
                  .VO5!  NK  	  up4       V! \        P                  ! V! RR4      RR7      V! RR4      .4       V! \        P                  ! RRR7      . 4       V! RRR 4      R .p\        4       '       d   WE! RR 4      .,          pV! \        P                  ! V! RR 4      RR7      V4       . R$OpT! \        P                  ! RRRR7      W',            Uu. uF  qe! V!  NK
  	  up4       RRR4       R# u upi u upi u upi u upi u upi u upi u upi   + '       g   i     R# ; i)%r4   r(   r5   r1   r2   r;   rS   r   c              3   R   "   T F  p\         P                  3V,           x  K  	  R # 5ir   )r   rx   ).0is   & r   	<genexpr>0GlobTests.test_recursive_glob.<locals>.<genexpr>-  s     )IDq299,*:*:Ds   %'a**r   rt   Tr   zzz*Fz**zz*F)r   r   Nr4   r(   r(   r)   r(   r5   r(   r5   r4   r(   r5   r6   r(   r5   r6   r7   r   r*   )r   )r3   r   r   r   r   r   r   r   r1   r2   r   r*   r+   r;   r4   ))r9   )r:   )r;   r   )r;   r6   )r;   r6   r7   )r   r(   r   )r   )r(   r5   r   )r(   r5   r6   r   )r1   r   )r*   r   )r;   r   )r;   r6   r   )r   r   r   r   ))r.   r/   )r.   r0   r   r   )r.   )rp   r   r   r   r   rx   r	   r   r   r   rV   )r   rz   fulldirsexpectr   r   recs   &       r   test_recursive_globGlobTests.test_recursive_glob  sf   .. ==  D 	4::dTZZ556
4::bii&JJ		2J)ID)IJ	L*==\#677D
4::dBE!9D!9:
4::c4 $**z<1C!:#< 	= 	4::edjj8DE$g.==~&&F
4::dD!4::v#67M==~&&F
4::dD!4::v#67
4::dD"%r*
4::dE3' 3*5 	6
4::c4'L)AB%%77<<Dtyy.40H4aq40HItyydB48#'(4aq4(*tyydCD9#'(4aq4(*tyybii.$?bii$%d(Kdbii)<!)<d(KKMtyybiir2dCbii$%d(Kdbii)<!)<d(KKMtyybiis3tD.23dbii$!$d35tyyd6*d;eV$%'tyyT2B73t,d3F}}4-..tyydD)T:FCNCtyydC"&(+(Qa(+-- &%0H(((K(K3 ,/ &%%sj   8U)U +U)U+U)UAU)" UAU) U9A U)9 UCU)'U$5U)#U))U:	c                   V P                   pV! V P                  R 4      V P                  R4      4       V! V P                  R R4      . 4       V! V P                  R R4      . 4       V! V P                  R R4      . 4       V! V P                  R4      . 4       V! V P                  RR4      . 4       V! V P                  RR4      . 4       V! V P                  RR4      . 4       R# )r4   r   rt   rS   nonexistentNr   )rp   r   r   r   s   & r   test_glob_non_directory!GlobTests.test_glob_non_directory^  s    ..
4::dTZZ01
4::dB$
4::dC "%
4::dD!2&
4::m$b)
4::mR("-
4::mS)2.
4::mT*B/r   mkfifozrequires os.mkfifo()vxworksz%fifo requires special path on VxWorksc                   \         P                  P                  V P                  R 4      p\         P                  ! V4       V P                  4        V P                  V P                  R 4      V.4       V P                  V P                  R4      V.4       V P                  V P                  R R4      . 4       V P                  V P                  R R4      . 4       V P                  V P                  R R4      . 4       R# )mypipezmypipe*r   subrt   N)r   r   r   r   r   r=   rk   r   )r   r   s   & r   test_glob_named_pipeGlobTests.test_glob_named_pipei  s     ww||DLL(3
		$ 	H-v6I.7Hb126He4b9Hc2B7r   zrequires too much stackc                @   ^p\         P                  P                  V P                  R4      p\         P                  P                  ! V.R.V,          O5!  p\         P                  ! V4       \         P                  P                  ! V.R.V,          O5!  p\        ^d4       Uu. uF  p\        P                  ! VRR7      NK  	  ppV F  pV P                  \        V4      V4       K   	  \         P                  P                  VRR4      p\        ^d4       Uu. uF  p\        P                  ! VRR7      NK  	  ppTp\        V4       FG  p\         P                  P                  VR4      pV F  pV P                  \        V4      V4       K   	  KI  	  R# u upi u upi )   deepdrt   Tr   rS   N)
r   r   r   r   r    rangerV   rW   rk   next)	r   depthr"   r_   r^   jitersitr   s	   &        r   test_glob_many_open_files#GlobTests.test_glob_many_open_filesz  s/   ww||DLL&1GGLL.#u.
A'',,t4uU{4>CCjIjGt4jIBT"Xq) '',,tT3/>CCjIjGt4jIuAQ$A  b1-   J Js   $!F!Fc                   V P                  \        4      ;_uu_ 4        \        P                  ! V P                  R 4       RRR4       \
        P                  ! 4       ;_uu_ 4        \
        P                  ! R4       V P                  pV! \        P                  ! V P                  R 4      R .4       V! \        P                  ! V P                  R4      R.4       V! \        P                  ! V P                  R4      . 4       V! \        P                  ! V P                  R4      . 4       V! \        P                  ! V P                  R4      . 4       V! \        P                  ! V P                  R4      . 4       V! \        P                  ! V P                  R4      . 4       RRR4       R#   + '       g   i     ELu; i  + '       g   i     R# ; i)	r(   Nignorer.   .b*br   r   r   )	assertWarnsDeprecationWarningrV   glob0r   warningscatch_warningssimplefilterrp   r   s   & r   
test_glob0GlobTests.test_glob0  s(   011JJt||S) 2 $$&&!!(+22Btzz$,,,se4tzz$,,.8tzz$,,.3tzz$,,,b1tzz$,,,b1tzz$,,-r2tzz$,,-r2 '& 211 '&&s   "F,%D=G ,F=	 G	c                   V P                  \        4      ;_uu_ 4        \        P                  ! V P                  R 4       RRR4       \
        P                  ! 4       ;_uu_ 4        \
        P                  ! R4       V P                  pV! \        P                  ! V P                  R 4      R .4       V! \        P                  ! V P                  R4      R.4       V! \        P                  ! V P                  R4      R.4       V! \        P                  ! V P                  R4      . 4       V! \        P                  ! V P                  R4      R .4       V! \        P                  ! V P                  R4      R R.4       V! \        P                  ! V P                  R	4      . R
O4       RRR4       R#   + '       g   i     EL{; i  + '       g   i     R# ; i)r(   Nr   r.   r   r  r   r   r1   r   )r(   r1   r*   )	r  r  rV   glob1r   r  r  r  rp   r   s   & r   
test_glob1GlobTests.test_glob1  s1   011JJt||S) 2 $$&&!!(+22Btzz$,,,se4tzz$,,.8tzz$,,.8tzz$,,,b1tzz$,,,se4tzz$,,-U|<tzz$,,-/BC '& 211 '&&s   "F2%EG2G	G	c                z   \         P                  ! \        P                  ! R 4      4      P                  pV P                  V! R4      4       V P                  V! R4      4       V P                  V! R4      4       \         P                  ! \        P                  ! R4      4      P                  pV P                  V! R4      4       \         P                  ! \        P                  ! RRR7      4      P                  pV P                  V! R4      4       V P                  V! R4      4       V P                  V! \        P                  P                  RR4      4      4       V P                  V! \        P                  P                  RR	4      4      4       V P                  V! \        P                  P                  RR4      4      4       V P                  V! \        P                  P                  RR	4      4      4       \         P                  ! \        P                  ! R
RR7      4      P                  pV P                  V! \        P                  P                  RR4      4      4       V P                  V! \        P                  P                  RR	4      4      4       V P                  V! \        P                  P                  RR4      4      4       V P                  V! \        P                  P                  RR	4      4      4       \         P                  ! \        P                  ! RRR7      4      P                  pV P                  V! \        P                  P                  RR4      4      4       V P                  V! \        P                  P                  RR	4      4      4       V P                  V! \        P                  P                  RR4      4      4       V P                  V! \        P                  P                  RR	4      4      4       \         P                  ! \        P                  ! RRR7      4      P                  pV P                  V! \        P                  P                  RR	4      4      4       V P                  V! \        P                  P                  RR	4      4      4       \         P                  ! \        P                  ! RRR7      4      P                  pV P                  V! \        P                  P                  RR4      4      4       V P                  V! \        P                  P                  RR	4      4      4       V P                  V! \        P                  P                  RR4      4      4       V P                  V! \        P                  P                  RR4      4      4       R# )rt   foozfoo.barz.foor   rS   Tr   barz.bar**/*z*/**z**/.barz**/*.*zbar.txtz.bar.txtN)
recompilerV   	translatematchassertIsNotNoneassertIsNoner   r   r   )r   r  s   & r   test_translate_matching!GlobTests.test_translate_matching  s   

4>>#./55U5\*U9-.%-(

4>>$/066U6]+

4>>$$?@FFU5\*%-(U277<<u#=>?%UF ;<=%VU ;<=%VV <=>

4>>&DABHHU277<<u#=>?%UF ;<=%VU ;<=%VV <=>

4>>&DABHHU277<<u#=>?%UF ;<=%VU ;<=%VV <=>

4>>)tDEKKU277<<v#>?@%VV <=>

4>>(dCDJJ%UE :;<%UF ;<=U277<<y#ABC%UJ ?@Ar   c                   R  pV P                  V! R4      R4       V P                  V! R4      R4       V P                  V! R4      R4       V P                  V! R4      R4       V P                  V! R	4      R
4       V P                  V! R4      R4       V P                  V! R4      R4       V P                  V! R4      R4       V P                  V! R4      R4       V P                  V! R4      R4       V P                  V! R4      R4       V P                  V! R4      R4       V P                  V! R4      R
4       V P                  V! R4      R4       V P                  V! R4      R4       R# )c                 2    \         P                  ! V R R7      # )/)r   rV   r  pats   &r   fn$GlobTests.test_translate.<locals>.fn  s    >>#C00r   r  
(?s:foo)\zfoo/bar(?s:foo/bar)\zrt   z(?s:[^/.][^/]*)\zr   z(?s:(?!\.)[^/])\zr   (?s:a[^/]*)\zr   z(?s:(?!\.)[^/]*a)\zr   (?s:\.[^/]*)\zr   z(?s:(?!\.)[^/]aa)\zr   (?s:aa[^/])\zr   (?s:aa[ab])\zrS   z(?s:(?!\.)[^/]*)\z***r   **bz(?s:(?!\.)[^/]*b)\z/**/*/*.*/**z=(?s:/(?!\.)[^/]*/[^/.][^/]*/(?!\.)[^/]*\.[^/]*/(?!\.)[^/]*)\zNrk   r   r   s   & r   test_translateGlobTests.test_translate  sE   	1EM2I(9:C"67C"67D#34D#9:D#45E$:;E$45H'78D#89E$9:E$45E$:;N+Y	[r   c                   R  pV P                  V! R4      R4       V P                  V! R4      R4       V P                  V! R4      R4       V P                  V! R4      R4       V P                  V! R	4      R
4       V P                  V! R4      R4       V P                  V! R4      R4       V P                  V! R4      R4       V P                  V! R4      R4       V P                  V! R4      R4       V P                  V! R4      R4       V P                  V! R4      R4       V P                  V! R4      R
4       V P                  V! R4      R4       V P                  V! R4      R4       R# )c                 4    \         P                  ! V R RR7      # )Tr  )r   r   r  r  s   &r   r   3GlobTests.test_translate_include_hidden.<locals>.fn  s    >>#dEEr   r  r"  r#  r$  rt   (?s:[^/]+)\zr   (?s:[^/])\zr   r%  r   z(?s:[^/]*a)\zr   r&  r   z(?s:[^/]aa)\zr   r'  r   r(  rS   (?s:[^/]*)\zr)  r   r*  (?s:[^/]*b)\zr+  z&(?s:/[^/]*/[^/]+/[^/]*\.[^/]*/[^/]*)\zNr,  r-  s   & r   test_translate_include_hidden'GlobTests.test_translate_include_hidden  s?   	FEM2I(9:C/2C.1D#34D#34D#45E$45E$45H'78D?3EO4E$45E$45N+-VWr   c                   R  pV P                  V! R4      R4       V P                  V! R4      R4       V P                  V! R4      R4       V P                  V! R4      R4       V P                  V! R4      R	4       V P                  V! R
4      R4       V P                  V! R4      R4       V P                  V! R4      R4       R# )c                 6    \         P                  ! V R R RR7      # )Tr  r   r   r   r  r  s   &r   r   .GlobTests.test_translate_recursive.<locals>.fn  s    >>#dQTUUr   rt   r3  r   r4  rS   z	(?s:.*)\zz**/**r)  r5  r   r%  r*  r6  r+  z%(?s:/(?:.+/)?[^/]+/[^/]*\.[^/]*/.*)\zNr,  r-  s   & r   test_translate_recursive"GlobTests.test_translate_recursive  s    	VC/2C.1D<0Gl3EO4E$45E$45N+-UVr   c                l    R  pV P                  V! R4      R4       V P                  V! R4      R4       R# )c                 :    \         P                  ! V R R RR.R7      # )Tr  \r;  r  r  s   &r   r   )GlobTests.test_translate_seps.<locals>.fn  s    >>#dRUW[Q\]]r   zfoo/bar\bazz(?s:foo[/\\]bar[/\\]baz)\zr  z(?s:(?:.+[/\\])?[^/\\]+)\zNr,  r-  s   & r   test_translate_sepsGlobTests.test_translate_seps  s3    	^N+-JKF%BCr   )rB   r   )4__name__
__module____qualname____firstlineno__rB   r   r   r$   r?   r=   rO   rV   rp   r|   r   r   r   r   r   r   r   r   r   unittest
skipUnlesssysplatformr   r   r   r   r   r   r   r   r   hasattrr   skipIfr   r   r   r   r  r  r  r.  r7  r=  rC  __static_attributes____classdictcell__)__classdict__s   @r   r   r      s    FDH$$$
0d1:"A 	H<G,9& = = 3 3 02GH	) I	)O: 02GH& I&;@3C-J	0 X.0FG__S\\Y.;=8= H8 __W))+DE. F."3DBB[(X&
WD Dr   r   __main__)rV   r   r  rM   rK  rI  r  test.supportr   r   test.support.os_helperr   r   r   r   r	   TestCaser   rE  main r   r   <module>rX     sX     	 	  
   *P PtD!! tDn zMMO r   