Esempio n. 1
0
 def test_safe_makedirs(self):
     tmp = mkdtemp()
     # create base dir
     target = os.path.join(tmp, "foo", "bar")
     safe_makedirs(target)
     # we need the patch to ensure that the code is actually executed
     with patch("os.path.exists") as mock_:
         mock_.return_value = False
         self.assertTrue(os.path.isdir(target))
         # ensure that creating the base dir again does not crash
         safe_makedirs(target)
         self.assertTrue(os.path.isdir(target))
         # ensure we still get regular errors like permission denied
         # (stat.S_IRUSR)
         os.chmod(os.path.join(tmp, "foo"), 0400)
         self.assertRaises(OSError, safe_makedirs, target)
         # set back to stat.(S_IRUSR|S_IWUSR|S_IXUSR) to make rmtree work
         os.chmod(os.path.join(tmp, "foo"), 0700)
     # cleanup
     shutil.rmtree(tmp)
Esempio n. 2
0
 def test_safe_makedirs(self):
     tmp = mkdtemp()
     # create base dir
     target = os.path.join(tmp, "foo", "bar")
     safe_makedirs(target)
     # we need the patch to ensure that the code is actually executed
     with patch("os.path.exists") as mock_:
         mock_.return_value = False
         self.assertTrue(os.path.isdir(target))
         # ensure that creating the base dir again does not crash
         safe_makedirs(target)
         self.assertTrue(os.path.isdir(target))
         # ensure we still get regular errors like permission denied
         # (stat.S_IRUSR)
         os.chmod(os.path.join(tmp, "foo"), 0400)
         self.assertRaises(OSError, safe_makedirs, target)
         # set back to stat.(S_IRUSR|S_IWUSR|S_IXUSR) to make rmtree work
         os.chmod(os.path.join(tmp, "foo"), 0700)
     # cleanup
     shutil.rmtree(tmp)
Esempio n. 3
0
        logfilter.add(filter_str)
    # attach or filter
    handler.addFilter(logfilter)


# setup global software-center logging
root = logging.getLogger()
fmt = logging.Formatter("%(asctime)s - %(name)s - %(levelname)s - %(message)s",
                        None)
handler = logging.StreamHandler()
handler.setFormatter(fmt)
root.addHandler(handler)
handler.addFilter(NullFilterThatWarnsAboutRootLoggerUsage())

# create log file
safe_makedirs(softwarecenter.paths.SOFTWARE_CENTER_CACHE_DIR)

# try to fix inaccessible s-c directory (#688682)
if not os.access(softwarecenter.paths.SOFTWARE_CENTER_CACHE_DIR, os.W_OK):
    logging.warn("found not writable '%s' dir, trying to fix" %
                 softwarecenter.paths.SOFTWARE_CENTER_CACHE_DIR)
    # if we have to do more renames, something else is wrong and it's
    # ok to crash later to learn about the problem
    for i in range(10):
        target = "%s.%s" % (softwarecenter.paths.SOFTWARE_CENTER_CACHE_DIR, i)
        if not os.path.exists(target):
            softwarecenter.paths.SOFTWARE_CENTER_CACHE_DIR = target
            break
    safe_makedirs(softwarecenter.paths.SOFTWARE_CENTER_CACHE_DIR)

logfile_path = os.path.join(softwarecenter.paths.SOFTWARE_CENTER_CACHE_DIR,
Esempio n. 4
0
        logfilter.add(filter_str)
    # attach or filter
    handler.addFilter(logfilter)


# setup global software-center logging
root = logging.getLogger()
fmt = logging.Formatter(
    "%(asctime)s - %(name)s - %(levelname)s - %(message)s", None)
handler = logging.StreamHandler()
handler.setFormatter(fmt)
root.addHandler(handler)
handler.addFilter(NullFilterThatWarnsAboutRootLoggerUsage())

# create log file
safe_makedirs(softwarecenter.paths.SOFTWARE_CENTER_CACHE_DIR)

# try to fix inaccessible s-c directory (#688682)
if not os.access(softwarecenter.paths.SOFTWARE_CENTER_CACHE_DIR, os.W_OK):
    logging.warn("found not writable '%s' dir, trying to fix" %
                 softwarecenter.paths.SOFTWARE_CENTER_CACHE_DIR)
    # if we have to do more renames, something else is wrong and it's
    # ok to crash later to learn about the problem
    for i in range(10):
        target = "%s.%s" % (softwarecenter.paths.SOFTWARE_CENTER_CACHE_DIR, i)
        if not os.path.exists(target):
            softwarecenter.paths.SOFTWARE_CENTER_CACHE_DIR = target
            break
    safe_makedirs(softwarecenter.paths.SOFTWARE_CENTER_CACHE_DIR)