Merge "Mute hash_suffix rmdir failures"
This commit is contained in:
commit
fc131c8b0e
@ -238,7 +238,10 @@ def hash_suffix(path, reclaim_age):
|
|||||||
continue
|
continue
|
||||||
raise
|
raise
|
||||||
if not files:
|
if not files:
|
||||||
|
try:
|
||||||
os.rmdir(hsh_path)
|
os.rmdir(hsh_path)
|
||||||
|
except OSError:
|
||||||
|
pass
|
||||||
for filename in files:
|
for filename in files:
|
||||||
md5.update(filename)
|
md5.update(filename)
|
||||||
try:
|
try:
|
||||||
|
@ -240,6 +240,24 @@ class TestDiskFileModuleMethods(unittest.TestCase):
|
|||||||
# only the meta and data should be left
|
# only the meta and data should be left
|
||||||
self.assertEquals(len(os.listdir(whole_hsh_path)), 2)
|
self.assertEquals(len(os.listdir(whole_hsh_path)), 2)
|
||||||
|
|
||||||
|
def test_hash_suffix_hsh_path_disappearance(self):
|
||||||
|
orig_rmdir = os.rmdir
|
||||||
|
|
||||||
|
def _rmdir(path):
|
||||||
|
# Done twice to recreate what happens when it doesn't exist.
|
||||||
|
orig_rmdir(path)
|
||||||
|
orig_rmdir(path)
|
||||||
|
|
||||||
|
df = self.df_mgr.get_diskfile('sda', '0', 'a', 'c', 'o')
|
||||||
|
mkdirs(df._datadir)
|
||||||
|
ohash = hash_path('a', 'c', 'o')
|
||||||
|
suffix = ohash[-3:]
|
||||||
|
suffix_path = os.path.join(self.objects, '0', suffix)
|
||||||
|
with mock.patch('os.rmdir', _rmdir):
|
||||||
|
# If hash_suffix doesn't handle the exception _rmdir will raise,
|
||||||
|
# this test will fail.
|
||||||
|
diskfile.hash_suffix(suffix_path, 123)
|
||||||
|
|
||||||
def test_invalidate_hash(self):
|
def test_invalidate_hash(self):
|
||||||
|
|
||||||
def assertFileData(file_path, data):
|
def assertFileData(file_path, data):
|
||||||
|
Loading…
Reference in New Issue
Block a user