瀏覽代碼

check --repair: test if shadow index is recreated

still failing here, because it is not.
Thomas Waldmann 1 年之前
父節點
當前提交
48feb28e11
共有 1 個文件被更改,包括 9 次插入0 次删除
  1. 9 0
      src/borg/testsuite/repository.py

+ 9 - 0
src/borg/testsuite/repository.py

@@ -826,6 +826,15 @@ class RepositoryHintsTestCase(RepositoryTestCaseBase):
         self.assert_equal(compact_expected, self.repository.compact)
         del self.repository.segments[2]  # ignore the segment created by put(H(42), ...)
         self.assert_equal(segments_expected, self.repository.segments)
+        self.reopen()
+        self.assert_equal(self.repository.check(repair=True), True)
+        self.reopen()
+        self.repository.put(H(42), b'foobar')  # this will call prepare_txn() and load the hints data
+        self.assert_equal(shadow_index_expected, self.repository.shadow_index)
+        # sizes do not match, with vs. without header?
+        # self.assert_equal(compact_expected, self.repository.compact)
+        del self.repository.segments[2]  # ignore the segment created by put(H(42), ...)
+        self.assert_equal(segments_expected, self.repository.segments)
 
     def test_hints_behaviour(self):
         self.repository.put(H(0), b'data')