bpo-25803: Avoid incorrect errors raised by Path.mkdir(exist_ok=True) (#805) (#807)

when the OS gives priority to errors such as EACCES over EEXIST.

(cherry picked from commit af7b9ec5c8)
This commit is contained in:
Serhiy Storchaka 2017-03-24 21:46:46 +02:00 committed by GitHub
parent 80cb6ed4db
commit 1fc1f8d7f7
3 changed files with 23 additions and 17 deletions

View file

@ -1727,6 +1727,11 @@ class _BasePathTest(object):
self.assertTrue(p.exists())
self.assertEqual(p.stat().st_ctime, st_ctime_first)
def test_mkdir_exist_ok_root(self):
# Issue #25803: A drive root could raise PermissionError on Windows
self.cls('/').resolve().mkdir(exist_ok=True)
self.cls('/').resolve().mkdir(parents=True, exist_ok=True)
@only_nt # XXX: not sure how to test this on POSIX
def test_mkdir_with_unknown_drive(self):
for d in 'ZYXWVUTSRQPONMLKJIHGFEDCBA':