@@ -1086,7 +1086,7 @@ def test_glob_follow_symlinks_common(self):
1086
1086
self .skipTest ("symlinks required" )
1087
1087
def _check (path , glob , expected ):
1088
1088
actual = {path for path in path .glob (glob , follow_symlinks = True )
1089
- if "linkD" not in path . parent . parts } # exclude symlink loop.
1089
+ if path . parts . count ( "linkD" ) <= 1 } # exclude symlink loop.
1090
1090
self .assertEqual (actual , { P (self .base , q ) for q in expected })
1091
1091
P = self .cls
1092
1092
p = P (self .base )
@@ -1096,13 +1096,15 @@ def _check(path, glob, expected):
1096
1096
_check (p , "*B/*" , ["dirB/fileB" , "dirB/linkD" , "linkB/fileB" , "linkB/linkD" ])
1097
1097
_check (p , "*/fileB" , ["dirB/fileB" , "linkB/fileB" ])
1098
1098
_check (p , "*/" , ["dirA/" , "dirB/" , "dirC/" , "dirE/" , "linkB/" ])
1099
- _check (p , "dir*/*/.." , ["dirC/dirD/.." , "dirA/linkC/.." ])
1099
+ _check (p , "dir*/*/.." , ["dirC/dirD/.." , "dirA/linkC/.." , "dirB/linkD/.." ])
1100
1100
_check (p , "dir*/**/" , ["dirA/" , "dirA/linkC/" , "dirA/linkC/linkD/" , "dirB/" , "dirB/linkD/" ,
1101
1101
"dirC/" , "dirC/dirD/" , "dirE/" ])
1102
1102
_check (p , "dir*/**/.." , ["dirA/.." , "dirA/linkC/.." , "dirB/.." ,
1103
+ "dirB/linkD/.." , "dirA/linkC/linkD/.." ,
1103
1104
"dirC/.." , "dirC/dirD/.." , "dirE/.." ])
1104
1105
_check (p , "dir*/*/**/" , ["dirA/linkC/" , "dirA/linkC/linkD/" , "dirB/linkD/" , "dirC/dirD/" ])
1105
- _check (p , "dir*/*/**/.." , ["dirA/linkC/.." , "dirC/dirD/.." ])
1106
+ _check (p , "dir*/*/**/.." , ["dirA/linkC/.." , "dirA/linkC/linkD/.." ,
1107
+ "dirB/linkD/.." , "dirC/dirD/.." ])
1106
1108
_check (p , "dir*/**/fileC" , ["dirC/fileC" ])
1107
1109
_check (p , "dir*/*/../dirD/**/" , ["dirC/dirD/../dirD/" ])
1108
1110
_check (p , "*/dirD/**/" , ["dirC/dirD/" ])
@@ -1157,7 +1159,7 @@ def _check(glob, expected):
1157
1159
"dirA/" , "dirA/linkC/" , "dirB/" , "dirB/linkD/" , "dirC/" ,
1158
1160
"dirC/dirD/" , "dirE/" , "linkB/" ,
1159
1161
])
1160
- _check (p .rglob ("" ), ["./ " , "dirA/" , "dirB/" , "dirC/" , "dirE/" , "dirC/dirD/" ])
1162
+ _check (p .rglob ("" ), ["" , "dirA/" , "dirB/" , "dirC/" , "dirE/" , "dirC/dirD/" ])
1161
1163
1162
1164
p = P (self .base , "dirC" )
1163
1165
_check (p .rglob ("*" ), ["dirC/fileC" , "dirC/novel.txt" ,
@@ -1178,18 +1180,21 @@ def test_rglob_follow_symlinks_common(self):
1178
1180
self .skipTest ("symlinks required" )
1179
1181
def _check (path , glob , expected ):
1180
1182
actual = {path for path in path .rglob (glob , follow_symlinks = True )
1181
- if 'linkD' not in path .parent . parts } # exclude symlink loop.
1183
+ if path .parts . count ( "linkD" ) <= 1 } # exclude symlink loop.
1182
1184
self .assertEqual (actual , { P (self .base , q ) for q in expected })
1183
1185
P = self .cls
1184
1186
p = P (self .base )
1185
- _check (p , "fileB" , ["dirB/fileB" , "dirA/linkC/fileB" , "linkB/fileB" ])
1187
+ _check (p , "fileB" , ["dirB/fileB" , "dirA/linkC/fileB" , "linkB/fileB" ,
1188
+ "dirA/linkC/linkD/fileB" , "dirB/linkD/fileB" , "linkB/linkD/fileB" ])
1186
1189
_check (p , "*/fileA" , [])
1187
- _check (p , "*/fileB" , ["dirB/fileB" , "dirA/linkC/fileB" , "linkB/fileB" ])
1190
+ _check (p , "*/fileB" , ["dirB/fileB" , "dirA/linkC/fileB" , "linkB/fileB" ,
1191
+ "dirA/linkC/linkD/fileB" , "dirB/linkD/fileB" , "linkB/linkD/fileB" ])
1188
1192
_check (p , "file*" , ["fileA" , "dirA/linkC/fileB" , "dirB/fileB" ,
1193
+ "dirA/linkC/linkD/fileB" , "dirB/linkD/fileB" , "linkB/linkD/fileB" ,
1189
1194
"dirC/fileC" , "dirC/dirD/fileD" , "linkB/fileB" ])
1190
1195
_check (p , "*/" , ["dirA/" , "dirA/linkC/" , "dirA/linkC/linkD/" , "dirB/" , "dirB/linkD/" ,
1191
1196
"dirC/" , "dirC/dirD/" , "dirE/" , "linkB/" , "linkB/linkD/" ])
1192
- _check (p , "" , ["./ " , "dirA/" , "dirA/linkC/" , "dirA/linkC/linkD/" , "dirB/" , "dirB/linkD/" ,
1197
+ _check (p , "" , ["" , "dirA/" , "dirA/linkC/" , "dirA/linkC/linkD/" , "dirB/" , "dirB/linkD/" ,
1193
1198
"dirC/" , "dirE/" , "dirC/dirD/" , "linkB/" , "linkB/linkD/" ])
1194
1199
1195
1200
p = P (self .base , "dirC" )
@@ -1216,7 +1221,7 @@ def _check(path, glob, expected):
1216
1221
_check (p , "*/fileB" , ["dirB/fileB" ])
1217
1222
_check (p , "file*" , ["fileA" , "dirB/fileB" , "dirC/fileC" , "dirC/dirD/fileD" , ])
1218
1223
_check (p , "*/" , ["dirA/" , "dirB/" , "dirC/" , "dirC/dirD/" , "dirE/" ])
1219
- _check (p , "" , ["./ " , "dirA/" , "dirB/" , "dirC/" , "dirE/" , "dirC/dirD/" ])
1224
+ _check (p , "" , ["" , "dirA/" , "dirB/" , "dirC/" , "dirE/" , "dirC/dirD/" ])
1220
1225
1221
1226
p = P (self .base , "dirC" )
1222
1227
_check (p , "*" , ["dirC/fileC" , "dirC/novel.txt" ,
0 commit comments