Adding try/finally block to make sure cleanup happens

This commit is contained in:
Bruno Behnken 2021-07-10 12:18:12 -03:00
parent 155d58d297
commit 3b0bafc82f
1 changed files with 12 additions and 10 deletions

View File

@ -456,16 +456,18 @@ class Archiver:
@contextmanager @contextmanager
def test_files(path, count, size, random): def test_files(path, count, size, random):
path = os.path.join(path, 'borg-test-data') try:
os.makedirs(path) path = os.path.join(path, 'borg-test-data')
z_buff = None if random else memoryview(zeros)[:size] if size <= len(zeros) else b'\0' * size os.makedirs(path)
for i in range(count): z_buff = None if random else memoryview(zeros)[:size] if size <= len(zeros) else b'\0' * size
fname = os.path.join(path, 'file_%d' % i) for i in range(count):
data = z_buff if not random else os.urandom(size) fname = os.path.join(path, 'file_%d' % i)
with SyncFile(fname, binary=True) as fd: # used for posix_fadvise's sake data = z_buff if not random else os.urandom(size)
fd.write(data) with SyncFile(fname, binary=True) as fd: # used for posix_fadvise's sake
yield path fd.write(data)
shutil.rmtree(path) yield path
finally:
shutil.rmtree(path)
if '_BORG_BENCHMARK_CRUD_TEST' in os.environ: if '_BORG_BENCHMARK_CRUD_TEST' in os.environ:
tests = [ tests = [