From 626d44a57d40d042d440723d7f9dd9040f398b7d Mon Sep 17 00:00:00 2001 From: Milkey Mouse Date: Mon, 2 Nov 2020 19:10:46 -0800 Subject: [PATCH] Sufficiently corrupt files for tests (fixes #5438) --- src/borg/testsuite/archiver.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/borg/testsuite/archiver.py b/src/borg/testsuite/archiver.py index 1f3a2efda..b973dc2db 100644 --- a/src/borg/testsuite/archiver.py +++ b/src/borg/testsuite/archiver.py @@ -3686,10 +3686,12 @@ class ArchiverCorruptionTestCase(ArchiverTestCaseBase): self.cmd('init', '--encryption=repokey', self.repository_location) self.cache_path = json.loads(self.cmd('info', self.repository_location, '--json'))['cache']['path'] - def corrupt(self, file): + def corrupt(self, file, amount=1): with open(file, 'r+b') as fd: - fd.seek(-1, io.SEEK_END) - fd.write(b'1') + fd.seek(-amount, io.SEEK_END) + corrupted = bytes(255-c for c in fd.read(amount)) + fd.seek(-amount, io.SEEK_END) + fd.write(corrupted) def test_cache_chunks(self): self.corrupt(os.path.join(self.cache_path, 'chunks'))