@@ -1765,16 +1765,26 @@ def _check(path, glob, expected):
1765
1765
_check (p , "*/fileB" , ["dirB/fileB" , "linkB/fileB" ])
1766
1766
_check (p , "*/" , ["dirA/" , "dirB/" , "dirC/" , "dirE/" , "linkB/" ])
1767
1767
_check (p , "dir*/*/.." , ["dirC/dirD/.." , "dirA/linkC/.." , "dirB/linkD/.." ])
1768
+ _check (p , "dir*/**" , [
1769
+ "dirA" , "dirA/linkC" , "dirA/linkC/fileB" , "dirA/linkC/linkD" , "dirA/linkC/linkD/fileB" ,
1770
+ "dirB" , "dirB/fileB" , "dirB/linkD" , "dirB/linkD/fileB" ,
1771
+ "dirC" , "dirC/fileC" , "dirC/dirD" , "dirC/dirD/fileD" , "dirC/novel.txt" ,
1772
+ "dirE" ])
1768
1773
_check (p , "dir*/**/" , ["dirA/" , "dirA/linkC/" , "dirA/linkC/linkD/" , "dirB/" , "dirB/linkD/" ,
1769
1774
"dirC/" , "dirC/dirD/" , "dirE/" ])
1770
1775
_check (p , "dir*/**/.." , ["dirA/.." , "dirA/linkC/.." , "dirB/.." ,
1771
1776
"dirB/linkD/.." , "dirA/linkC/linkD/.." ,
1772
1777
"dirC/.." , "dirC/dirD/.." , "dirE/.." ])
1778
+ _check (p , "dir*/*/**" , [
1779
+ "dirA/linkC" , "dirA/linkC/linkD" , "dirA/linkC/fileB" , "dirA/linkC/linkD/fileB" ,
1780
+ "dirB/linkD" , "dirB/linkD/fileB" ,
1781
+ "dirC/dirD" , "dirC/dirD/fileD" ])
1773
1782
_check (p , "dir*/*/**/" , ["dirA/linkC/" , "dirA/linkC/linkD/" , "dirB/linkD/" , "dirC/dirD/" ])
1774
1783
_check (p , "dir*/*/**/.." , ["dirA/linkC/.." , "dirA/linkC/linkD/.." ,
1775
1784
"dirB/linkD/.." , "dirC/dirD/.." ])
1776
1785
_check (p , "dir*/**/fileC" , ["dirC/fileC" ])
1777
1786
_check (p , "dir*/*/../dirD/**/" , ["dirC/dirD/../dirD/" ])
1787
+ _check (p , "*/dirD/**" , ["dirC/dirD" , "dirC/dirD/fileD" ])
1778
1788
_check (p , "*/dirD/**/" , ["dirC/dirD/" ])
1779
1789
1780
1790
@needs_symlinks
@@ -1791,12 +1801,20 @@ def _check(path, glob, expected):
1791
1801
_check (p , "*/fileB" , ["dirB/fileB" ])
1792
1802
_check (p , "*/" , ["dirA/" , "dirB/" , "dirC/" , "dirE/" ])
1793
1803
_check (p , "dir*/*/.." , ["dirC/dirD/.." ])
1804
+ _check (p , "dir*/**" , [
1805
+ "dirA" , "dirA/linkC" ,
1806
+ "dirB" , "dirB/fileB" , "dirB/linkD" ,
1807
+ "dirC" , "dirC/fileC" , "dirC/dirD" , "dirC/dirD/fileD" , "dirC/novel.txt" ,
1808
+ "dirE" ])
1794
1809
_check (p , "dir*/**/" , ["dirA/" , "dirB/" , "dirC/" , "dirC/dirD/" , "dirE/" ])
1795
1810
_check (p , "dir*/**/.." , ["dirA/.." , "dirB/.." , "dirC/.." , "dirC/dirD/.." , "dirE/.." ])
1811
+ _check (p , "dir*/*/**" , ["dirC/dirD" , "dirC/dirD/fileD" ])
1796
1812
_check (p , "dir*/*/**/" , ["dirC/dirD/" ])
1797
1813
_check (p , "dir*/*/**/.." , ["dirC/dirD/.." ])
1798
1814
_check (p , "dir*/**/fileC" , ["dirC/fileC" ])
1815
+ _check (p , "dir*/*/../dirD/**" , ["dirC/dirD/../dirD" , "dirC/dirD/../dirD/fileD" ])
1799
1816
_check (p , "dir*/*/../dirD/**/" , ["dirC/dirD/../dirD/" ])
1817
+ _check (p , "*/dirD/**" , ["dirC/dirD" , "dirC/dirD/fileD" ])
1800
1818
_check (p , "*/dirD/**/" , ["dirC/dirD/" ])
1801
1819
1802
1820
def test_rglob_common (self ):
@@ -1833,10 +1851,13 @@ def _check(glob, expected):
1833
1851
"dirC/dirD" , "dirC/dirD/fileD" ])
1834
1852
_check (p .rglob ("file*" ), ["dirC/fileC" , "dirC/dirD/fileD" ])
1835
1853
_check (p .rglob ("**/file*" ), ["dirC/fileC" , "dirC/dirD/fileD" ])
1854
+ _check (p .rglob ("dir*/**" ), ["dirC/dirD" , "dirC/dirD/fileD" ])
1836
1855
_check (p .rglob ("dir*/**/" ), ["dirC/dirD/" ])
1837
1856
_check (p .rglob ("*/*" ), ["dirC/dirD/fileD" ])
1838
1857
_check (p .rglob ("*/" ), ["dirC/dirD/" ])
1839
1858
_check (p .rglob ("" ), ["dirC/" , "dirC/dirD/" ])
1859
+ _check (p .rglob ("**" ), [
1860
+ "dirC" , "dirC/fileC" , "dirC/dirD" , "dirC/dirD/fileD" , "dirC/novel.txt" ])
1840
1861
_check (p .rglob ("**/" ), ["dirC/" , "dirC/dirD/" ])
1841
1862
# gh-91616, a re module regression
1842
1863
_check (p .rglob ("*.txt" ), ["dirC/novel.txt" ])
0 commit comments