VTVSSKrSSKrSSKrSSKrSSKrSSKrSSKrSSKJrJ r SSK J r J r J r JrJr "SS\R 5r\ "SS\R 55r\S:Xa\R("5 gg) N)is_wasiPy_DEBUG)TESTFNskip_unless_symlink can_symlinkcreate_empty_file change_cwdcH\rSrSrSrSrSrSrSrSr Sr S r S r S r S rS rSrSrSrSr\S5r\S5r\R0"\R4S:HS5S5rSrSr\R0"\R4S:HS5S5rSrSr Sr!Sr"Sr#\R0"\$"\%S5S 5\RL"\R4S!:HS"5S#55r'\RL"\(=(a \)S$5S%5r*S&r+S'r,S(r-S)r.S*r/S+r0S,r1S-r2g). GlobTestsNc[RR[RR"UR/UQ765$N)ospathnormpathjointempdir)selfpartss 5/opt/alt/python313/lib64/python3.13/test/test_glob.pynormGlobTests.norms-ww T\\ BE BCCcUVs/sH.n[RR"UR/UQ76PM0 sn$s snfr)rrrr)rtuplesrs rjoinsGlobTests.joinss0@FGu T\\2E2GGGs5=cUR"U6n[RRU5up4[RR U5(d[R "U5 [ U5 gr)rrrsplitexistsmakedirsr)rrfilenamebasefiles rmktempGlobTests.mktempsK99e$WW]]8, ww~~d## KK (#rc[S-UlURSS5 URSS5 URSS5 URSS 5 URSS 5 URS S 5 URS 5 URS5 URSSS5 URSSSS5 [5(a[R "UR S5UR S55 [R "SUR S55 [R "[RRSS5UR S55 UR5 g)N_diraDaabF.aaG.bbH.JaaazzzFZZZEFbcdefghabrokensym1sym2sym3) rrr%rrsymlinkrrr open_dirfdrs rsetUpGlobTests.setUps   C E3 E3 E3 E4  E6" E D C% Ct, == JJtyy*DIIf,= > JJx6!2 3 JJrww||C/61B C rcURb [R"UR5 [R[R1[R ::ah[R [R;aF[R"UR[R[R-5UlgSUlgr) dir_fdrcloseopenstatsupports_dir_fdscandir supports_fdrO_RDONLY O_DIRECTORYr?s rr>GlobTests.open_dirfd0sp ;; " HHT[[ ! GGRWW !3!3 3 bnn8T''$,, bnn0LMDKDKrcURb [R"UR5 [R"UR 5 gr)rCrrDshutilrmtreerr?s rtearDownGlobTests.tearDown8s, ;; " HHT[[ ! dll#rc ` [U5S:XaUSnO[RR"U6n[RRURU5n[ R "U40UD6n[ R "U40UD6nUR[ R "U40UD6U5 UVs/sHn[R"U5PM nnUR[ R "[R"U540UD6U5 UR[ R "[R"U540UD6U5 [UR5 [ R "U40UD6nUH2nUR[RRU5U5 M4 US:XdUS[R-:XaUSSn OUn URUVs/sH-n[RRURU5PM/ snU 5 UR[ R "U40UD6U5 [R"U5n UVs/sHn[R"U5PM n nUR[ R "U 40UD6U 5 UR[ R "U 40UD6U 5 SSS5 UR[ R "U4SUR0UD6U5 UR[ R "U4SUR0UD6U5 [R"UR5n UR[ R "W 4SU 0UD6W 5 UR[ R "U 4SU 0UD6U 5 URbUR[ R "U4SUR0UD6U5 UR[ R "U4SUR0UD6U5 UR[ R "U 4SUR0UD6U 5 UR[ R "U 4SUR0UD6U 5 U$s snfs snfs snf!,(df  GN=f)Nr**root_dirrC)lenrrrrglobiglobassertCountEqualfsencoder assertFalseisabsseprC) rrkwargspatternpresres2xbresexpectedbpatternbres2btempdirs rrWGlobTests.glob=s u:?AhGggllE*G GGLLw /ii$V$zz!&v& djj5f5s;(+,1 A, dii AA&A4H djjQB6BDI  %99W//D  q!115$'TBFF]":qr7  ! !$"O$Q277<< a#@$"O"* ,  ! !$**W"?"? F{{7+H-12TR[[^TE2  ! !$))H"?"? G  ! !$**X"@"@% H& diiQ$,,Q&QSWX djjR4<<R6RTXY;;t||,  IIh < DIIcN+, 499S# 3!4 56 499U dii./0 499Y $iin 3/3a$q'3/#7ii RYY45 3/3a$q'3/#7iio 3/3a$q'3/%9ii R[[%;TBC 3/3a$q'3/%90/0/sH(7H->H2H7c<UR[R"S5/5 UR[R"S5/5 UR[R"SURS9/5 UR[R"S[R"UR5S9/5 UR[R"SUR S9/5 UR[R"SUR S9/5 g)Nr)rU)rC)rlrWrrrZrCr?s rtest_glob_empty_pattern!GlobTests.test_glob_empty_patterns 2+ 3, 2 =rB 3T\\1JKRP 2dkk:B? 3t{{;R@rcrURnU"URS5[UR/SQ55 U"URS5[URSS/55 U"URS5[URSS/55 U"URS 5[URS/55 U"URS 5[URSS /55 U"URS 5[URSS /55 U"URS 5/5 g)Na*)r)r+r2*ar)r2.*r-r/?aaaa?r+aa[ab]z*q)rqrWmaprrr{s rtest_glob_one_directory!GlobTests.test_glob_one_directorys  . . 499T?C +>?@ 499T?C C<89 499T?C E5>:; 499U SUG45 499U SUEN;< 499X DIIu~ >? 499T?Brc URn[RRS5S:Xa-U"UR SSS5UR SSS5/5 O>U"UR SSS5UR SSS5UR SSS5/5 U"UR SSS5UR SSS5/5 g)NabCDr)r6zE*r5r7z*g)rqrrnormcaserWrrs rtest_glob_nested_directory$GlobTests.test_glob_nested_directorys  . . 77  F #v - tyyeT*TYYsE4-H,I J tyyeT*TYYsE4-H-1YYsE5-I-K L 499S% &3u)E(FGrc tURnU"URSS5URSS5/5 U"URSS5/5 U"URSSSS5URSSSS5/5 U"URSS 5URS S 5URS S 5/5 g)Nrur*r)rr6r7r8z?a?*Fr2r3r+r,rqrWrrs rtest_glob_directory_names#GlobTests.test_glob_directory_namess  . . 499S# 3!4 56 499S$ $ 499S#sD ) IIc5% . / 1 499UD !DIIeV$<$(IIeS$9$;  C   TYYtyy'7#'=> C   TYYtyy'7#'=>"ii.45 7   TYYtyy'7#a%'?@"ii.Q67 9 22B tyy5)C/0 % 266)499U+;bff+DE G tyy5)CE12 % 266)499U+;bff+DE G#rc [R(a [R[R4O[R4nUGHnUR[R"[R "UR S5U-55/5 UR[R"[R "UR S5U-55/5 UR[R"[R "UR S5U-55[R "UR S5U-5/5 UR[R"[R "UR S5US--55[R "UR S5US--5/5 URnU"[R"[R "UR S5U-55[R "UR S5[R-5[R "UR S5[R-5/5 U"[R"[R "UR S5US--55[R "UR S5[R-5[R "UR S5[R-5/5 GM gr)rrr]rlrWrZrrqrs r-test_glob_bytes_directory_with_trailing_slash7GlobTests.test_glob_bytes_directory_with_trailing_slashs')ii "bffYC   TYYr{{499U3Cc3I'JKR P   TYYr{{499U3Cc3I'JKR P   TYYr{{499U3Cc3I'JK DIIe,s234 6   TYYr{{499U3Cc!e3K'LM DIIe,s1u456 822B tyyTYYu%5%;<= DIIe,rvv56 DIIe,rvv568 9 tyyTYYu%5A%=>? DIIe,rvv56 DIIe,rvv568 9rc URnU"URS5URS5/5 U"URSS5URSS5URSS5/5 U"URS[R-5URS5[R-/5 U"URSS5URSS5URSS 5URSS5/5 g) Nr<rur5r7rr2r3r+r,)rqrWrrr]rs rtest_glob_symlinksGlobTests.test_glob_symlinkss  . . 499V tyy012 499VS !DIIfd$;$(IIfe$<$> ? 499Vbff_ % &(9BFF(B'CD 499S$  IIeV $ IIeS !499VT#: < =rcLURnU"URS5URS5URS5URS5/5 U"URS5URS5/5 U"URS5URS5/5 g)Nzsym*r:r;r<rrs rtest_glob_broken_symlinks#GlobTests.test_glob_broken_symlinkss  . . 499V tyy0$))F2C#yy02 3 499V tyy012 499V tyy012rwin32zWin32 specific testcURnU"[R"S5/5 U"[R"S5/5 U"[R"S5/5 U"[R"S5/5 U"[R"S5S/5 U"[R"S5S/5 U"[R"S5/5 U"[R"S5/5 g) Nz*:s*:z?:s?:z\\?\c:\s\\?\c:\z\\*\*\s\\*\*\)rqrWrs rtest_glob_magic_in_drive"GlobTests.test_glob_magic_in_drives  . . 499T?B 499U R  499T?B 499U R  499] #m_5 499^ $~&67 499\ "B' 499] #R(rcUR[R"U5U5 UR[R"[R"U55[R"U55 gr)rlrWescaperrZ)rargres r check_escapeGlobTests.check_escapesF S)84 R[[%56 H8MNrcURnU"SS5 U"SS5 U"SS5 U"SS5 U"SS 5 U"S S 5 g) Nabc[z[[]?z[?]ruz[*]z [[_/*?*/_]]z[[][[]_/[*][?][*]/_]]z /[[_/*?*/_]]/z/[[][[]_/[*][?][*]/_]]/rrchecks r test_escapeGlobTests.test_escapesK!! eU c5 c5 c5 m45 o89rcURnU"SS5 U"SS5 U"SS5 U"SS5 U"S S 5 U"S S 5 g) Nz?:?z?:[?]z*:*z*:[*]z\\?\c:\?z \\?\c:\[?]z\\*\*\*z \\*\*\[*]z//?/c:/?z //?/c:/[?]z//*/*/*z //*/*/[*]rrs rtest_escape_windowsGlobTests.test_escape_windowssI!! eW eW k=) j,' j,' i%rc*UR"USS0UD6$)N recursiveTrWrrr^s rrglobGlobTests.rglob syy%:4:6::rc*UR"USS0UD6$)Ninclude_hiddenTrrs rhglobGlobTests.hglobsyy%????rc URnSS/nU"URS5UR"U65 U"URS5UR"U65 S/nU"URSS5UR"U65 g)Nr2r-rz*aar-r.rTr.)rqrr)rr{lrps rtest_hidden_globGlobTests.test_hidden_globsq  . . x  4::e djj!n- 4::e djj!n-^ 4::dC $**b/2rc R URn/SQn[5(aU/SQ- nU"URS5UR"S/UQ765 U"UR[R S5UR"[R S4/SU5Q765 /SQn[5(aUSS /- nU"URSS5UR"S/UQ765 U"URS S5URS S S SSS55 U"URS5URSSS55 SS/n[5(aUS/- nU"URSS5UR"U65 /SQn[5(aUS/- nU"URSS5UR"U65 U"URSSS5/5 U"URSSS5URSS55 U"URS SS5URS 55 [ UR5 [RRnU"[R"SSS9UVs/sHoe"U6PM sn5 U"[R"U"SS5SS9UVs/sHoe"U6PM sn5 U"[R"U"SS5SS9UVs/sHoe"U6PM sn5 U"[R"U"[R S5SS9U"[R S5/UVs/sHoe"[R /UQ76PM sn-5 U"[R"U"[R SS5SS9U"[R S5/UVs/sHoe"[R /UQ76PM sn-5 U"[R"U"[R SS5SS9UVs/sHoe"[R /UQ76PM sn5 U"[R"U"SS5SS9U"SS 5/5 U"[R"S!SS9/5 U"S SS5S/n[5(a XE"S"S5/- nU"[R"U"SS5SS9U5 /S#QnU"[R"SSSS$9X'-Vs/sHoe"U6PM sn5 SSS5 gs snfs snfs snfs snfs snfs snfs snf!,(df  g=f)%N) r5)r4r)r)r*r)r6r)r6r5r)r6r7r)r6r7r8rr2r3r+r+r,))r:)r;)r<r<r5)r<r7)r<r7r8rT)rrc3J# UHn[R4U-v M g7fr)rry).0is r 0GlobTests.test_recursive_glob..-s)IDq299,*:Ds!#)r)r)r)r6r)r)r6r7r)r2r)r+r)r<r)r<r7rr)rrrrrra**rrrrrr5)rrrrrr6ruTrzzz*Fr2r3z**zz*Fr<))r/r0)r/r1rr)r/)rr) rqrrrrryr rrrrW)rr{fulldirsexpectrrrecs rtest_recursive_globGlobTests.test_recursive_globs`  . . ==  D 4::d TZZ556 4::bii & JJ 2 J)ID)I J L* == \#67 7D 4::dB E!9D!9: 4::c4 $** z<1C !:#< = 4::e djj8DE$g. == ~& &F 4::dD !4::v#67M == ~& &F 4::dD !4::v#67 4::dD" %r* 4::dE3 '  3*5 6 4::c4 'L)AB  %77< T B9TT %T5#T T&cURnU"URS5URS55 U"URSS5/5 U"URSS5/5 U"URSS5/5 U"URS5/5 U"URSS5/5 U"URSS5/5 U"URSS5/5 g)Nr5rrrurT nonexistent)rqrrrs rtest_glob_non_directory!GlobTests.test_glob_non_directory^s  . . 4::d TZZ01 4::dB $ 4::dC "% 4::dD !2& 4::m $b) 4::mR ("- 4::mS )2. 4::mT *B/rmkfifozrequires os.mkfifo()vxworksz%fifo requires special path on VxWorksc[RRURS5n[R"U5 UR 5 UR URS5U/5 UR URS5U/5 UR URSS5/5 UR URSS5/5 UR URSS5/5 g)Nmypipezmypipe*rsubru)rrrrrr>rlr)rrs rtest_glob_named_pipeGlobTests.test_glob_named_pipeisww||DLL(3 $  H-v6 I.7 Hb126 He4b9 Hc2B7rzrequires too much stackc"Sn[RRURS5n[RR"U/S/U-Q76n[R"U5 [RR"U/S/U-Q76n[ S5Vs/sHn[ R"USS9PM nnUHnUR[U5U5 M [RRUSS5n[ S5Vs/sHn[ R"USS9PM nnUn[ U5HGn[RRUS5nUHnUR[U5U5 M MI gs snfs snf) NdeepdrudTrrT) rrrrr!rangerWrXrlnext) rdepthr#r`r_jitersitrs rtest_glob_many_open_files#GlobTests.test_glob_many_open_fileszs/ww||DLL&1 GGLL .#u . A'',,t4uU{4>CCjIjGt4jIB   T"Xq )'',,tT3/>CCjIjGt4jI uA Q$A  b1- JJs F F c|UR[5 [R"URS5 SSS5 [ R "5 [ R"S5 URnU"[R"URS5S/5 U"[R"URS5S/5 U"[R"URS5/5 U"[R"URS5/5 U"[R"URS5/5 U"[R"URS5/5 U"[R"URS5/5 SSS5 g!,(df  GNj=f!,(df  g=f) Nr)ignorer/.b*brrr) assertWarnsDeprecationWarningrWglob0rwarningscatch_warnings simplefilterrqrs r test_glob0GlobTests.test_glob0s   0 1 JJt||S )2 $ $ &  ! !( +22B tzz$,,,se 4 tzz$,,. 8 tzz$,,. 3 tzz$,,,b 1 tzz$,,,b 1 tzz$,,-r 2 tzz$,,-r 2' &2 1' &s"FD=F- F*- F;cUR[5 [R"URS5 SSS5 [ R "5 [ R"S5 URnU"[R"URS5S/5 U"[R"URS5S/5 U"[R"URS5S/5 U"[R"URS5/5 U"[R"URS5S/5 U"[R"URS5SS/5 U"[R"URS 5/S Q5 SSS5 g!,(df  GNp=f!,(df  g=f) Nr)rr/rrrrr2r)r)r2r+) rrrWglob1rrr r rqrs r test_glob1GlobTests.test_glob1s%   0 1 JJt||S )2 $ $ &  ! !( +22B tzz$,,,se 4 tzz$,,. 8 tzz$,,. 8 tzz$,,,b 1 tzz$,,,se 4 tzz$,,-U| < tzz$,,-/B C' &2 1' &s"F!EF3! F03 GcZ [R"[R"S55RnUR U"S55 UR U"S55 UR U"S55 [R"[R"S55RnUR U"S55 [R"[R"SSS95RnUR U"S55 UR U"S55 UR U"[RRSS 555 UR U"[RRSS 555 UR U"[RRSS 555 UR U"[RRSS 555 [R"[R"S SS95RnUR U"[RRSS 555 UR U"[RRSS 555 UR U"[RRSS 555 UR U"[RRSS 555 [R"[R"S SS95RnUR U"[RRSS 555 UR U"[RRSS 555 UR U"[RRSS 555 UR U"[RRSS 555 [R"[R"S SS95RnUR U"[RRSS 555 UR U"[RRSS 555 [R"[R"SSS95RnUR U"[RRSS 555 UR U"[RRSS 555 UR U"[RRSS555 UR U"[RRSS555 g)Nrufoozfoo.barz.foorrTTrbarz.bar**/*z*/**z**/.barz**/*.*zbar.txtz.bar.txt) recompilerW translatematchassertIsNotNone assertIsNonerrr)rrs rtest_translate_matching!GlobTests.test_translate_matchings 4>>#./55 U5\* U9-. %-( 4>>$/066 U6]+ 4>>$$?@FF U5\* %-( U277<<u#=>? % UF ;<= % VU ;<= % VV <=> 4>>&DABHH U277<<u#=>? % UF ;<= % VU ;<= % VV <=> 4>>&DABHH U277<<u#=>? % UF ;<= % VU ;<= % VV <=> 4>>)tDEKK U277<<v#>?@ % VV <=> 4>>(dCDJJ % UE :;< % UF ;<= U277<<y#ABC % UJ ?@ArcSnURU"S5S5 URU"S5S5 URU"S5S5 URU"S5S 5 URU"S 5S 5 URU"S 5S 5 URU"S5S5 URU"S5S5 URU"S5S5 URU"S5S5 URU"S5S5 URU"S5S5 URU"S5S 5 URU"S5S5 URU"S5S5 g)Nc,[R"USS9$)N/)rrWrpats rfn$GlobTests.test_translate..fns>>#C0 0rr (?s:foo)\Zfoo/bar(?s:foo/bar)\Zruz(?s:[^/.][^/]*)\Zrz(?s:(?!\.)[^/])\Zr (?s:a[^/]*)\Zrz(?s:(?!\.)[^/]*a)\Zr(?s:\.[^/]*)\Zrz(?s:(?!\.)[^/]aa)\Zr (?s:aa[^/])\Zr (?s:aa[ab])\ZrTz(?s:(?!\.)[^/]*)\Z***r**bz(?s:(?!\.)[^/]*b)\Z /**/*/*.*/**z=(?s:/(?!\.)[^/]*/[^/.][^/]*/(?!\.)[^/]*\.[^/]*/(?!\.)[^/]*)\Zrlrr#s rtest_translateGlobTests.test_translatesE 1 EM2 I(9: C"67 C"67 D#34 D#9: D#45 E$:; E$45 H'78 D#89 E$9: E$45 E$:; N+Y [rcSnURU"S5S5 URU"S5S5 URU"S5S5 URU"S5S 5 URU"S 5S 5 URU"S 5S 5 URU"S5S5 URU"S5S5 URU"S5S5 URU"S5S5 URU"S5S5 URU"S5S5 URU"S5S 5 URU"S5S5 URU"S5S5 g)Nc.[R"USSS9$)NTr)rrr r!s rr#3GlobTests.test_translate_include_hidden..fns>>#dE Errr%r&r'ru (?s:[^/]+)\Zr (?s:[^/])\Zrr(rz (?s:[^/]*a)\Zrr)rz (?s:[^/]aa)\Zrr*rr+rT (?s:[^/]*)\Zr,rr- (?s:[^/]*b)\Zr.z&(?s:/[^/]*/[^/]+/[^/]*\.[^/]*/[^/]*)\Zr/r0s rtest_translate_include_hidden'GlobTests.test_translate_include_hiddens? F EM2 I(9: C/2 C.1 D#34 D#34 D#45 E$45 E$45 H'78 D?3 EO4 E$45 E$45 N+-VWrcSnURU"S5S5 URU"S5S5 URU"S5S5 URU"S5S5 URU"S 5S 5 URU"S 5S 5 URU"S 5S5 URU"S5S5 g)Nc0[R"USSSS9$)NTrrrrr r!s rr#.GlobTests.test_translate_recursive..fns>>#dQTU Urrur6rr7rTz (?s:.*)\Zz**/**r,r8rr(r-r9r.z%(?s:/(?:.+/)?[^/]+/[^/]*\.[^/]*/.*)\Zr/r0s rtest_translate_recursive"GlobTests.test_translate_recursives V C/2 C.1 D<0 Gl3 EO4 E$45 E$45 N+-UVrcjSnURU"S5S5 URU"S5S5 g)Nc4[R"USSSS/S9$)NTr\r>r r!s rr#)GlobTests.test_translate_seps..fns>>#dRUW[Q\] ]rz foo/bar\bazz(?s:foo[/\\]bar[/\\]baz)\Zrz(?s:(?:.+[/\\])?[^/\\]+)\Zr/r0s rtest_translate_sepsGlobTests.test_translate_sepss3 ^ N+-JK F%BCr)rCr)3__name__ __module__ __qualname____firstlineno__rCrrr%r@r>rPrWrqr}rrrrrrrrrunittest skipUnlesssysplatformrrrrrrrrrhasattrrskipIfrrrrr rrr1r:r@rF__static_attributes__rrr r s FDH$$$ 0d1 :"A  H<G,9&==3302GH )I )O:02GH&I&;@3C-J 0X.0FG __S\\Y.;= 8=H 8__W)+DE.F." 3 DBB[(X& WDrr cD\rSrSr\R "S5S5rSrg)SymlinkLoopGlobTestsiz flaky testc [S-n[R"U5 UR[R U5 [ U5 [R"S5 [[RRSS55 [R"[R[RRSS55 [R"SSS9nUR[U5[[U555 [U5nSnU(a[RR"S/S/U--6nUR!XB5 UR#U5 U(dOP[RRUS5nUR!XB5 UR#U5 US - nU(aM[R"[RRSS5SS9nUR[U5[[U555 [U5nSnU(aY[RR"S/S/U--S/-6nUR!XB5 UR#U5 US - nU(aMY[R"[RRSS 5SS9nUR[U5[[U555 [U5nSnU(aY[RR"S/S/U--S /-6nUR!XB5 UR#U5 US - nU(aMYSSS5 g!,(df  g=f) Nr(dirr$linkrTTrrrSr)rrr! addCleanuprNrOr rrrr=ryrWrlrVrmassertInremove)rrresultsrrs r test_selflink"SymlinkLoopGlobTests.test_selflink sv6/ G  w/  KK  bggll5&9 : JJryy"'',,uf"= >ii5G   S\3s7|+< ='lGEww||ug50@&@B d,t$ww||D&1 d,t$ 'ii T6 :dKG   S\3s7|+< ='lGEww||ug50@&@F8&KM d,t$  ' ii T2 6$GG   S\3s7|+< ='lGEww||ug50@&@B4&GI d,t$  'E! s E6M&C M&C M&& M4rSN)rHrIrJrKrLskipr]rRrSrrrUrUs ]]< *!*rrU__main__)rWrrrNrNrLr test.supportrrtest.support.os_helperrrrrr TestCaser rUrHmainrSrrresz *PPtD!!tDn08,,00f z MMOr