diff -r e63a9695a0d4 Lib/pathlib.py --- a/Lib/pathlib.py Fri Dec 06 17:46:22 2013 -0800 +++ b/Lib/pathlib.py Sat Dec 07 23:06:36 2013 +0200 @@ -1096,7 +1096,7 @@ except OSError as e: if e.errno != ENOENT: raise - self.parent.mkdir(mode, True) + self.parent.mkdir(parents=True) self._accessor.mkdir(self, mode) def chmod(self, mode): diff -r e63a9695a0d4 Lib/test/test_pathlib.py --- a/Lib/test/test_pathlib.py Fri Dec 06 17:46:22 2013 -0800 +++ b/Lib/test/test_pathlib.py Sat Dec 07 23:06:36 2013 +0200 @@ -1493,7 +1493,13 @@ with self.assertRaises(OSError) as cm: p.mkdir(parents=True) self.assertEqual(cm.exception.errno, errno.EEXIST) - # XXX test `mode` arg + # test `mode` arg + shutil.rmtree(join('newdirB')) + p.mkdir(0o444, parents=True) + self.assertTrue(p.exists()) + self.assertTrue(p.is_dir()) + self.assertEqual(stat.S_IMODE(p.stat().st_mode), 0o444) + self.assertEqual(stat.S_IMODE(p.parent.stat().st_mode), 0o775) @with_symlinks def test_symlink_to(self):