diff options
author | Senthil Kumaran <orsenthil@gmail.com> | 2010-09-17 16:35:37 (GMT) |
---|---|---|
committer | Senthil Kumaran <orsenthil@gmail.com> | 2010-09-17 16:35:37 (GMT) |
commit | 9b86a69fc7ee51deadf59a562cdce41aa698ce9b (patch) | |
tree | 3ac06b7f30a9910c0546b56cdb1e7fbaf0de594b /Lib/distutils | |
parent | ac00799d61351d8f468af00d6194287bc37aad75 (diff) | |
download | cpython-9b86a69fc7ee51deadf59a562cdce41aa698ce9b.zip cpython-9b86a69fc7ee51deadf59a562cdce41aa698ce9b.tar.gz cpython-9b86a69fc7ee51deadf59a562cdce41aa698ce9b.tar.bz2 |
Fix Issue2236: Distutils' mkpath implementation ignoring the "mode" parameter
Diffstat (limited to 'Lib/distutils')
-rw-r--r-- | Lib/distutils/dir_util.py | 2 | ||||
-rw-r--r-- | Lib/distutils/tests/test_dir_util.py | 7 |
2 files changed, 8 insertions, 1 deletions
diff --git a/Lib/distutils/dir_util.py b/Lib/distutils/dir_util.py index 98e6252..54376e5 100644 --- a/Lib/distutils/dir_util.py +++ b/Lib/distutils/dir_util.py @@ -68,7 +68,7 @@ def mkpath(name, mode=0o777, verbose=1, dry_run=0): if not dry_run: try: - os.mkdir(head) + os.mkdir(head, mode) created_dirs.append(head) except OSError as exc: raise DistutilsFileError( diff --git a/Lib/distutils/tests/test_dir_util.py b/Lib/distutils/tests/test_dir_util.py index 0f694aa..8986ca5 100644 --- a/Lib/distutils/tests/test_dir_util.py +++ b/Lib/distutils/tests/test_dir_util.py @@ -1,6 +1,7 @@ """Tests for distutils.dir_util.""" import unittest import os +import stat import shutil from distutils.dir_util import (mkpath, remove_tree, create_tree, copy_tree, @@ -48,6 +49,12 @@ class DirUtilTestCase(support.TempdirManager, unittest.TestCase): wanted = ["removing '%s' (and everything under it)" % self.root_target] self.assertEquals(self._logs, wanted) + def test_mkpath_with_custom_mode(self): + mkpath(self.target, 0o700) + self.assertEqual(stat.S_IMODE(os.stat(self.target).st_mode), 0o700) + mkpath(self.target2, 0o555) + self.assertEqual(stat.S_IMODE(os.stat(self.target2).st_mode), 0o555) + def test_create_tree_verbosity(self): create_tree(self.root_target, ['one', 'two', 'three'], verbose=0) |