Add another try/except PermissionError to avoid depending on listdir order. Fix issues #24120 and #26012.

This commit is contained in:
Guido van Rossum 2016-01-07 10:56:36 -08:00
parent f3695bfacf
commit bc9fddaf50
2 changed files with 16 additions and 13 deletions

View file

@ -1240,7 +1240,7 @@ class _BasePathTest(object):
# | |-- dirD
# | | `-- fileD
# | `-- fileC
# |-- dirE
# |-- dirE # No permissions
# |-- fileA
# |-- linkA -> fileA
# `-- linkB -> dirB
@ -1396,13 +1396,13 @@ class _BasePathTest(object):
p = P(BASE)
it = p.rglob("fileA")
self.assertIsInstance(it, collections.Iterator)
# XXX cannot test because of symlink loops in the test setup
#_check(it, ["fileA"])
#_check(p.rglob("fileB"), ["dirB/fileB"])
#_check(p.rglob("*/fileA"), [""])
#_check(p.rglob("*/fileB"), ["dirB/fileB"])
#_check(p.rglob("file*"), ["fileA", "dirB/fileB"])
# No symlink loops here
_check(it, ["fileA"])
_check(p.rglob("fileB"), ["dirB/fileB"])
_check(p.rglob("*/fileA"), [])
_check(p.rglob("*/fileB"), ["dirB/fileB", "dirB/linkD/fileB",
"linkB/fileB", "dirA/linkC/fileB"])
_check(p.rglob("file*"), ["fileA", "dirB/fileB",
"dirC/fileC", "dirC/dirD/fileD"])
p = P(BASE, "dirC")
_check(p.rglob("file*"), ["dirC/fileC", "dirC/dirD/fileD"])
_check(p.rglob("*/*"), ["dirC/dirD/fileD"])