Add test coverage for os.removedirs (#16775)

This commit is contained in:
Andrew Svetlov 2012-12-25 12:21:49 +02:00
commit 914ab8420e
1 changed files with 46 additions and 0 deletions

View File

@ -905,6 +905,50 @@ class MakedirTests(unittest.TestCase):
os.removedirs(path) os.removedirs(path)
class RemoveDirsTests(unittest.TestCase):
def setUp(self):
os.makedirs(support.TESTFN)
def tearDown(self):
support.rmtree(support.TESTFN)
def test_remove_all(self):
dira = os.path.join(support.TESTFN, 'dira')
os.mkdir(dira)
dirb = os.path.join(dira, 'dirb')
os.mkdir(dirb)
os.removedirs(dirb)
self.assertFalse(os.path.exists(dirb))
self.assertFalse(os.path.exists(dira))
self.assertFalse(os.path.exists(support.TESTFN))
def test_remove_partial(self):
dira = os.path.join(support.TESTFN, 'dira')
os.mkdir(dira)
dirb = os.path.join(dira, 'dirb')
os.mkdir(dirb)
with open(os.path.join(dira, 'file.txt'), 'w') as f:
f.write('text')
os.removedirs(dirb)
self.assertFalse(os.path.exists(dirb))
self.assertTrue(os.path.exists(dira))
self.assertTrue(os.path.exists(support.TESTFN))
def test_remove_nothing(self):
dira = os.path.join(support.TESTFN, 'dira')
os.mkdir(dira)
dirb = os.path.join(dira, 'dirb')
os.mkdir(dirb)
with open(os.path.join(dirb, 'file.txt'), 'w') as f:
f.write('text')
with self.assertRaises(OSError):
os.removedirs(dirb)
self.assertTrue(os.path.exists(dirb))
self.assertTrue(os.path.exists(dira))
self.assertTrue(os.path.exists(support.TESTFN))
class DevNullTests(unittest.TestCase): class DevNullTests(unittest.TestCase):
def test_devnull(self): def test_devnull(self):
with open(os.devnull, 'wb') as f: with open(os.devnull, 'wb') as f:
@ -913,6 +957,7 @@ class DevNullTests(unittest.TestCase):
with open(os.devnull, 'rb') as f: with open(os.devnull, 'rb') as f:
self.assertEqual(f.read(), b'') self.assertEqual(f.read(), b'')
class URandomTests(unittest.TestCase): class URandomTests(unittest.TestCase):
def test_urandom_length(self): def test_urandom_length(self):
self.assertEqual(len(os.urandom(0)), 0) self.assertEqual(len(os.urandom(0)), 0)
@ -2176,6 +2221,7 @@ def test_main():
Win32DeprecatedBytesAPI, Win32DeprecatedBytesAPI,
TermsizeTests, TermsizeTests,
OSErrorTests, OSErrorTests,
RemoveDirsTests,
) )
if __name__ == "__main__": if __name__ == "__main__":