def test_ensure_file_writable_and_delete_if_not(self): # first test that a non-writable file (0400) is deleted test_file_not_writeable = NamedTemporaryFile() os.chmod(test_file_not_writeable.name, stat.S_IRUSR) self.assertFalse(os.access(test_file_not_writeable.name, os.W_OK)) ensure_file_writable_and_delete_if_not(test_file_not_writeable.name) self.assertFalse(os.path.exists(test_file_not_writeable.name)) # then test that a writable file (0600) is not deleted test_file_writeable = NamedTemporaryFile() os.chmod(test_file_writeable.name, stat.S_IRUSR | stat.S_IWUSR) self.assertTrue(os.access(test_file_writeable.name, os.W_OK)) ensure_file_writable_and_delete_if_not(test_file_writeable.name) self.assertTrue(os.path.exists(test_file_writeable.name))
def test_ensure_file_writable_and_delete_if_not(self): # first test that a non-writable file (0400) is deleted test_file_not_writeable = NamedTemporaryFile() os.chmod(test_file_not_writeable.name, stat.S_IRUSR) self.assertFalse(os.access(test_file_not_writeable.name, os.W_OK)) ensure_file_writable_and_delete_if_not(test_file_not_writeable.name) self.assertFalse(os.path.exists(test_file_not_writeable.name)) # then test that a writable file (0600) is not deleted test_file_writeable = NamedTemporaryFile() os.chmod(test_file_writeable.name, stat.S_IRUSR | stat.S_IWUSR) self.assertTrue(os.access(test_file_writeable.name, os.W_OK)) ensure_file_writable_and_delete_if_not(test_file_writeable.name) self.assertTrue(os.path.exists(test_file_writeable.name))
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, "software-center.log") # according to bug 688682 many people have a non-writeable logfile ensure_file_writable_and_delete_if_not(logfile_path) logfile_handler = logging.handlers.RotatingFileHandler(logfile_path, maxBytes=100 * 1000, backupCount=5) logfile_handler.setLevel(logging.INFO) logfile_handler.setFormatter(fmt) root.addHandler(logfile_handler) root.setLevel(logging.INFO)
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, "software-center.log") # according to bug 688682 many people have a non-writeable logfile ensure_file_writable_and_delete_if_not(logfile_path) logfile_handler = logging.handlers.RotatingFileHandler( logfile_path, maxBytes=100 * 1000, backupCount=5) logfile_handler.setLevel(logging.INFO) logfile_handler.setFormatter(fmt) root.addHandler(logfile_handler) root.setLevel(logging.INFO)