浏览代码

test fixes

Thomas Waldmann 7 年之前
父节点
当前提交
34a71ba74e
共有 1 个文件被更改,包括 18 次插入16 次删除
  1. 18 16
      src/borg/testsuite/repository.py

+ 18 - 16
src/borg/testsuite/repository.py

@@ -177,6 +177,8 @@ class LocalRepositoryTestCase(RepositoryTestCaseBase):
     def _assert_sparse(self):
         # The superseded 123456... PUT
         assert self.repository.compact[0] == 41 + 9
+        # a COMMIT
+        assert self.repository.compact[1] == 9
         # The DELETE issued by the superseding PUT (or issued directly)
         assert self.repository.compact[2] == 41
         self.repository._rebuild_sparse(0)
@@ -207,7 +209,7 @@ class LocalRepositoryTestCase(RepositoryTestCaseBase):
         # ...while _rebuild_sparse can mark whole segments as completely sparse (which then includes the segment magic)
         assert self.repository.compact[0] == 41 + 41 + 4 + len(MAGIC)
 
-        self.repository.commit()
+        self.repository.commit(compact=True)
         assert 0 not in [segment for segment, _ in self.repository.io.segment_iterator()]
 
     def test_uncommitted_garbage(self):
@@ -224,7 +226,7 @@ class LocalRepositoryTestCase(RepositoryTestCaseBase):
         self.repository = self.open()
         with self.repository:
             self.repository.put(H(0), b'bar')  # this may trigger compact_segments()
-            self.repository.commit()
+            self.repository.commit(compact=True)
         # the point here is that nothing blows up with an exception.
 
 
@@ -244,7 +246,7 @@ class RepositoryCommitTestCase(RepositoryTestCaseBase):
         self.add_keys()
         self.repository.compact_segments = None
         try:
-            self.repository.commit()
+            self.repository.commit(compact=True)
         except TypeError:
             pass
         self.reopen()
@@ -315,7 +317,7 @@ class RepositoryCommitTestCase(RepositoryTestCaseBase):
         self.repository.put(H(2), b'2')
         self.repository.commit()
         self.repository.delete(H(1))
-        self.repository.commit()
+        self.repository.commit(compact=True)
         last_segment = self.repository.io.get_latest_segment() - 1
         num_deletes = 0
         for tag, key, offset, size in self.repository.io.iter_objects(last_segment):
@@ -325,7 +327,7 @@ class RepositoryCommitTestCase(RepositoryTestCaseBase):
         assert num_deletes == 1
         assert last_segment in self.repository.compact
         self.repository.put(H(3), b'3')
-        self.repository.commit()
+        self.repository.commit(compact=True)
         assert last_segment not in self.repository.compact
         assert not self.repository.io.segment_exists(last_segment)
         for segment, _ in self.repository.io.segment_iterator():
@@ -349,12 +351,12 @@ class RepositoryCommitTestCase(RepositoryTestCaseBase):
         del self.repository.compact[put_segment]
         del self.repository.compact[delete_segment]
 
-        self.repository.commit()
+        self.repository.commit(compact=True)
 
         # Now we perform an unrelated operation on the segment containing the DELETE,
         # causing it to be compacted.
         self.repository.delete(H(2))
-        self.repository.commit()
+        self.repository.commit(compact=True)
 
         assert self.repository.io.segment_exists(put_segment)
         assert not self.repository.io.segment_exists(delete_segment)
@@ -370,7 +372,7 @@ class RepositoryCommitTestCase(RepositoryTestCaseBase):
         self.repository.put(H(1), b'1')
         self.repository.delete(H(1))
         assert self.repository.shadow_index[H(1)] == [0]
-        self.repository.commit()
+        self.repository.commit(compact=True)
         # note how an empty list means that nothing is shadowed for sure
         assert self.repository.shadow_index[H(1)] == []
         self.repository.put(H(1), b'1')
@@ -402,16 +404,16 @@ class RepositoryAppendOnlyTestCase(RepositoryTestCaseBase):
         self.repository.append_only = False
         assert segments_in_repository() == 2
         self.repository.put(H(0), b'foo')
-        self.repository.commit()
+        self.repository.commit(compact=True)
         # normal: compact squashes the data together, only one segment
-        assert segments_in_repository() == 4
+        assert segments_in_repository() == 2
 
         self.repository.append_only = True
-        assert segments_in_repository() == 4
+        assert segments_in_repository() == 2
         self.repository.put(H(0), b'foo')
         self.repository.commit()
         # append only: does not compact, only new segments written
-        assert segments_in_repository() == 6
+        assert segments_in_repository() == 4
 
 
 class RepositoryFreeSpaceTestCase(RepositoryTestCaseBase):
@@ -640,7 +642,7 @@ class RepositoryAuxiliaryCorruptionTestCase(RepositoryTestCaseBase):
             self.repository.append_only = False
             self.repository.put(H(3), b'1234')
             # Do a compaction run. Succeeds, since the failed checksum prompted a rebuild of the index+hints.
-            self.repository.commit()
+            self.repository.commit(compact=True)
 
             assert len(self.repository) == 4
             assert self.repository.get(H(0)) == b'foo'
@@ -656,7 +658,7 @@ class RepositoryAuxiliaryCorruptionTestCase(RepositoryTestCaseBase):
             self.repository.put(H(3), b'1234')
             # Do a compaction run. Fails, since the corrupted refcount was not detected and leads to an assertion failure.
             with pytest.raises(AssertionError) as exc_info:
-                self.repository.commit()
+                self.repository.commit(compact=True)
             assert 'Corrupted segment reference count' in str(exc_info.value)
 
 
@@ -757,7 +759,7 @@ class RepositoryCheckTestCase(RepositoryTestCaseBase):
         self.check(status=False)
         self.assert_equal(self.list_indices(), ['index.1'])
         self.check(repair=True, status=True)
-        self.assert_equal(self.list_indices(), ['index.3'])
+        self.assert_equal(self.list_indices(), ['index.2'])
         self.check(status=True)
         self.get_objects(3)
         self.assert_equal(set([1, 2, 3]), self.list_objects())
@@ -783,7 +785,7 @@ class RepositoryCheckTestCase(RepositoryTestCaseBase):
         self.repository.put(H(0), b'data2')
         # Simulate a crash before compact
         with patch.object(Repository, 'compact_segments') as compact:
-            self.repository.commit()
+            self.repository.commit(compact=True)
             compact.assert_called_once_with()
         self.reopen()
         with self.repository: