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