From 43610a104815cf3c75faf7871fa56667516ff80d Mon Sep 17 00:00:00 2001 From: Thomas Waldmann Date: Sun, 6 Jul 2025 16:30:31 +0200 Subject: [PATCH] tests: test_sparse_file, save space on TMPDIR --- src/borg/testsuite/archiver.py | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/borg/testsuite/archiver.py b/src/borg/testsuite/archiver.py index 736f270ce..2068144e2 100644 --- a/src/borg/testsuite/archiver.py +++ b/src/borg/testsuite/archiver.py @@ -680,11 +680,11 @@ class ArchiverTestCase(ArchiverTestCaseBase): sparse = False return sparse - filename = os.path.join(self.input_path, 'sparse') + filename_in = os.path.join(self.input_path, 'sparse') content = b'foobar' hole_size = 5 * (1 << CHUNK_MAX_EXP) # 5 full chunker buffers total_size = hole_size + len(content) + hole_size - with open(filename, 'wb') as fd: + with open(filename_in, 'wb') as fd: # create a file that has a hole at the beginning and end (if the # OS and filesystem supports sparse files) fd.seek(hole_size, 1) @@ -693,7 +693,7 @@ class ArchiverTestCase(ArchiverTestCaseBase): pos = fd.tell() fd.truncate(pos) # we first check if we could create a sparse input file: - sparse_support = is_sparse(filename, total_size, hole_size) + sparse_support = is_sparse(filename_in, total_size, hole_size) if sparse_support: # we could create a sparse input file, so creating a backup of it and # extracting it again (as sparse) should also work: @@ -702,13 +702,15 @@ class ArchiverTestCase(ArchiverTestCaseBase): with changedir(self.output_path): self.cmd('extract', '--sparse', self.repository_location + '::test') self.assert_dirs_equal('input', 'output/input') - filename = os.path.join(self.output_path, 'input', 'sparse') - with open(filename, 'rb') as fd: + filename_out = os.path.join(self.output_path, 'input', 'sparse') + with open(filename_out, 'rb') as fd: # check if file contents are as expected self.assert_equal(fd.read(hole_size), b'\0' * hole_size) self.assert_equal(fd.read(len(content)), content) self.assert_equal(fd.read(hole_size), b'\0' * hole_size) - assert is_sparse(filename, total_size, hole_size) + assert is_sparse(filename_out, total_size, hole_size) + os.unlink(filename_out) # save space on TMPDIR + os.unlink(filename_in) # save space on TMPDIR def test_unusual_filenames(self): filenames = ['normal', 'with some blanks', '(with_parens)', ]