Issue #28353: Make test_os.WalkTests.test_walk_bad_dir stable.
This commit is contained in:
parent
a65a474e19
commit
7865dfff2e
|
@ -980,16 +980,21 @@ class WalkTests(unittest.TestCase):
|
|||
errors = []
|
||||
walk_it = self.walk(self.walk_path, onerror=errors.append)
|
||||
root, dirs, files = next(walk_it)
|
||||
self.assertFalse(errors)
|
||||
dir1 = dirs[0]
|
||||
dir1new = dir1 + '.new'
|
||||
os.rename(os.path.join(root, dir1), os.path.join(root, dir1new))
|
||||
self.assertEqual(errors, [])
|
||||
dir1 = 'SUB1'
|
||||
path1 = os.path.join(root, dir1)
|
||||
path1new = os.path.join(root, dir1 + '.new')
|
||||
os.rename(path1, path1new)
|
||||
try:
|
||||
roots = [r for r, d, f in walk_it]
|
||||
self.assertTrue(errors)
|
||||
self.assertNotIn(os.path.join(root, dir1), roots)
|
||||
self.assertNotIn(os.path.join(root, dir1new), roots)
|
||||
for dir2 in dirs[1:]:
|
||||
self.assertNotIn(path1, roots)
|
||||
self.assertNotIn(path1new, roots)
|
||||
for dir2 in dirs:
|
||||
if dir2 != dir1:
|
||||
self.assertIn(os.path.join(root, dir2), roots)
|
||||
finally:
|
||||
os.rename(path1new, path1)
|
||||
|
||||
|
||||
@unittest.skipUnless(hasattr(os, 'fwalk'), "Test needs os.fwalk()")
|
||||
|
|
Loading…
Reference in New Issue