瀏覽代碼

Sufficiently corrupt files for tests (fixes #5438)

Milkey Mouse 4 年之前
父節點
當前提交
19ad4b08f1
共有 1 個文件被更改,包括 5 次插入3 次删除
  1. 5 3
      src/borg/testsuite/archiver.py

+ 5 - 3
src/borg/testsuite/archiver.py

@@ -3495,10 +3495,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'))