summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrew M. Kuchling <amk@amk.ca>2003-12-23 16:36:11 (GMT)
committerAndrew M. Kuchling <amk@amk.ca>2003-12-23 16:36:11 (GMT)
commitb386f6a50993f49fb62180c5a1e2a562a97cb368 (patch)
treeca708911585df9301b462d1668669578afb2b38b
parent6fccc8a9ec17a97c51875bcde532d3b8e5ebaedd (diff)
downloadcpython-b386f6a50993f49fb62180c5a1e2a562a97cb368.zip
cpython-b386f6a50993f49fb62180c5a1e2a562a97cb368.tar.gz
cpython-b386f6a50993f49fb62180c5a1e2a562a97cb368.tar.bz2
As part of fixing bug #829532, add a test case that exercises os.makedirs
-rw-r--r--Lib/test/test_os.py37
1 files changed, 36 insertions, 1 deletions
diff --git a/Lib/test/test_os.py b/Lib/test/test_os.py
index d5f4774..221571a 100644
--- a/Lib/test/test_os.py
+++ b/Lib/test/test_os.py
@@ -301,12 +301,47 @@ class WalkTests(unittest.TestCase):
os.rmdir(join(root, name))
os.rmdir(test_support.TESTFN)
+class MakedirTests (unittest.TestCase):
+ def setUp(self):
+ os.mkdir(test_support.TESTFN)
+
+ def test_makedir(self):
+ base = test_support.TESTFN
+ path = os.path.join(base, 'dir1', 'dir2', 'dir3')
+ os.makedirs(path) # Should work
+ path = os.path.join(base, 'dir1', 'dir2', 'dir3', 'dir4')
+ os.makedirs(path)
+
+ # Try paths with a '.' in them
+ self.failUnlessRaises(OSError, os.makedirs, os.curdir)
+ path = os.path.join(base, 'dir1', 'dir2', 'dir3', 'dir4', 'dir5', os.curdir)
+ os.makedirs(path)
+ path = os.path.join(base, 'dir1', os.curdir, 'dir2', 'dir3', 'dir4',
+ 'dir5', 'dir6')
+ os.makedirs(path)
+
+
+
+
+ def tearDown(self):
+ path = os.path.join(test_support.TESTFN, 'dir1', 'dir2', 'dir3',
+ 'dir4', 'dir5', 'dir6')
+ # If the tests failed, the bottom-most directory ('../dir6')
+ # may not have been created, so we look for the outermost directory
+ # that exists.
+ while not os.path.exists(path) and path != test_support.TESTFN:
+ path = os.path.dirname(path)
+
+ os.removedirs(path)
+
+
def test_main():
test_support.run_unittest(
TemporaryFileTests,
StatAttributeTests,
EnvironTests,
- WalkTests
+ WalkTests,
+ MakedirTests,
)
if __name__ == "__main__":