Revision b73360e3

b/lib/utils.py
1388 1388
      if err.errno != errno.EEXIST:
1389 1389
        raise errors.GenericError("Cannot create needed directory"
1390 1390
                                  " '%s': %s" % (dir_name, err))
1391
    try:
1392
      os.chmod(dir_name, dir_mode)
1393
    except EnvironmentError, err:
1394
      raise errors.GenericError("Cannot change directory permissions on"
1395
                                " '%s': %s" % (dir_name, err))
1391 1396
    if not os.path.isdir(dir_name):
1392 1397
      raise errors.GenericError("%s is not a directory" % dir_name)
1393 1398

  
b/test/ganeti.utils_unittest.py
1859 1859
    self.assertEquals(utils.IgnoreSignals(self._Return, 33), 33)
1860 1860

  
1861 1861

  
1862
class TestEnsureDirs(unittest.TestCase):
1863
  """Tests for EnsureDirs"""
1864

  
1865
  def setUp(self):
1866
    self.dir = tempfile.mkdtemp()
1867
    self.old_umask = os.umask(0777)
1868

  
1869
  def testEnsureDirs(self):
1870
    utils.EnsureDirs([
1871
        (utils.PathJoin(self.dir, "foo"), 0777),
1872
        (utils.PathJoin(self.dir, "bar"), 0000),
1873
        ])
1874
    self.assertEquals(os.stat(utils.PathJoin(self.dir, "foo"))[0] & 0777, 0777)
1875
    self.assertEquals(os.stat(utils.PathJoin(self.dir, "bar"))[0] & 0777, 0000)
1876

  
1877
  def tearDown(self):
1878
    os.rmdir(utils.PathJoin(self.dir, "foo"))
1879
    os.rmdir(utils.PathJoin(self.dir, "bar"))
1880
    os.rmdir(self.dir)
1881
    os.umask(self.old_umask)
1882

  
1862 1883
if __name__ == '__main__':
1863 1884
  testutils.GanetiTestProgram()

Also available in: Unified diff