diff options
| author | Terry Reedy <tjreedy@udel.edu> | 2010-12-02 07:05:56 (GMT) |
|---|---|---|
| committer | Terry Reedy <tjreedy@udel.edu> | 2010-12-02 07:05:56 (GMT) |
| commit | 5a22b651173f142a600625a036fcf36484ade237 (patch) | |
| tree | 35221434a0451ee9cf205f2e9dc17a69af69d596 /Lib/test/test_os.py | |
| parent | 3cdf871a8c9bc5694a598bfdf22edece49584f48 (diff) | |
| download | cpython-5a22b651173f142a600625a036fcf36484ade237.zip cpython-5a22b651173f142a600625a036fcf36484ade237.tar.gz cpython-5a22b651173f142a600625a036fcf36484ade237.tar.bz2 | |
Issue 9299 Add exist_ok parameter to os.makedirs to suppress 'File exists' exception. Patch by Ray Allen.
Diffstat (limited to 'Lib/test/test_os.py')
| -rw-r--r-- | Lib/test/test_os.py | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/Lib/test/test_os.py b/Lib/test/test_os.py index 835e1f2..e27dd7a 100644 --- a/Lib/test/test_os.py +++ b/Lib/test/test_os.py @@ -630,6 +630,28 @@ class MakedirTests(unittest.TestCase): 'dir5', 'dir6') os.makedirs(path) + def test_exist_ok_existing_directory(self): + path = os.path.join(support.TESTFN, 'dir1') + mode = 0o777 + old_mask = os.umask(0o022) + os.makedirs(path, mode) + self.assertRaises(OSError, os.makedirs, path, mode) + self.assertRaises(OSError, os.makedirs, path, mode, exist_ok=False) + self.assertRaises(OSError, os.makedirs, path, 0o776, exist_ok=True) + os.makedirs(path, mode=mode, exist_ok=True) + os.umask(old_mask) + + def test_exist_ok_existing_regular_file(self): + base = support.TESTFN + path = os.path.join(support.TESTFN, 'dir1') + f = open(path, 'w') + f.write('abc') + f.close() + self.assertRaises(OSError, os.makedirs, path) + self.assertRaises(OSError, os.makedirs, path, exist_ok=False) + self.assertRaises(OSError, os.makedirs, path, exist_ok=True) + os.remove(path) + def tearDown(self): path = os.path.join(support.TESTFN, 'dir1', 'dir2', 'dir3', 'dir4', 'dir5', 'dir6') |
