diff options
author | Serhiy Storchaka <storchaka@gmail.com> | 2016-02-08 16:24:15 +0200 |
---|---|---|
committer | Serhiy Storchaka <storchaka@gmail.com> | 2016-02-08 16:24:15 +0200 |
commit | 79ad8970523da6cad6b7485a98322197ab0f686b (patch) | |
tree | f25b101bfeac0e19d11c81bbf61520709558055c /Lib/test/test_os.py | |
parent | 192697e33b77681cf127871b2ebe3bbbea7c64ed (diff) | |
parent | 5f6a0b4eb26695be759cd32e49e83f38b5123ce6 (diff) | |
download | cpython-git-79ad8970523da6cad6b7485a98322197ab0f686b.tar.gz |
Issue #25911: Restored support of bytes paths in os.walk() on Windows.
Diffstat (limited to 'Lib/test/test_os.py')
-rw-r--r-- | Lib/test/test_os.py | 22 |
1 files changed, 17 insertions, 5 deletions
diff --git a/Lib/test/test_os.py b/Lib/test/test_os.py index 5ec911ef8a..66a426a4f1 100644 --- a/Lib/test/test_os.py +++ b/Lib/test/test_os.py @@ -790,10 +790,10 @@ class WalkTests(unittest.TestCase): # Wrapper to hide minor differences between os.walk and os.fwalk # to tests both functions with the same code base - def walk(self, directory, **kwargs): + def walk(self, top, **kwargs): if 'follow_symlinks' in kwargs: kwargs['followlinks'] = kwargs.pop('follow_symlinks') - return os.walk(directory, **kwargs) + return os.walk(top, **kwargs) def setUp(self): join = os.path.join @@ -944,11 +944,10 @@ class WalkTests(unittest.TestCase): class FwalkTests(WalkTests): """Tests for os.fwalk().""" - def walk(self, directory, **kwargs): - for root, dirs, files, root_fd in os.fwalk(directory, **kwargs): + def walk(self, top, **kwargs): + for root, dirs, files, root_fd in os.fwalk(top, **kwargs): yield (root, dirs, files) - def _compare_to_walk(self, walk_kwargs, fwalk_kwargs): """ compare with walk() results. @@ -1019,6 +1018,19 @@ class FwalkTests(WalkTests): os.unlink(name, dir_fd=rootfd) os.rmdir(support.TESTFN) +class BytesWalkTests(WalkTests): + """Tests for os.walk() with bytes.""" + def walk(self, top, **kwargs): + if 'follow_symlinks' in kwargs: + kwargs['followlinks'] = kwargs.pop('follow_symlinks') + for broot, bdirs, bfiles in os.walk(os.fsencode(top), **kwargs): + root = os.fsdecode(broot) + dirs = list(map(os.fsdecode, bdirs)) + files = list(map(os.fsdecode, bfiles)) + yield (root, dirs, files) + bdirs[:] = list(map(os.fsencode, dirs)) + bfiles[:] = list(map(os.fsencode, files)) + class MakedirTests(unittest.TestCase): def setUp(self): |