Commit 3dc70e8a authored by Serhiy Storchaka's avatar Serhiy Storchaka

Issue #28353: Make test_os.WalkTests.test_walk_bad_dir stable.

parent 39cc54f6
...@@ -980,16 +980,21 @@ class WalkTests(unittest.TestCase): ...@@ -980,16 +980,21 @@ class WalkTests(unittest.TestCase):
errors = [] errors = []
walk_it = self.walk(self.walk_path, onerror=errors.append) walk_it = self.walk(self.walk_path, onerror=errors.append)
root, dirs, files = next(walk_it) root, dirs, files = next(walk_it)
self.assertFalse(errors) self.assertEqual(errors, [])
dir1 = dirs[0] dir1 = 'SUB1'
dir1new = dir1 + '.new' path1 = os.path.join(root, dir1)
os.rename(os.path.join(root, dir1), os.path.join(root, dir1new)) path1new = os.path.join(root, dir1 + '.new')
roots = [r for r, d, f in walk_it] os.rename(path1, path1new)
self.assertTrue(errors) try:
self.assertNotIn(os.path.join(root, dir1), roots) roots = [r for r, d, f in walk_it]
self.assertNotIn(os.path.join(root, dir1new), roots) self.assertTrue(errors)
for dir2 in dirs[1:]: self.assertNotIn(path1, roots)
self.assertIn(os.path.join(root, dir2), 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()") @unittest.skipUnless(hasattr(os, 'fwalk'), "Test needs os.fwalk()")
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment