mirror of
https://github.com/borgbackup/borg.git
synced 2026-05-28 04:03:21 -04:00
Add regression test for 95cf337
This commit is contained in:
parent
95cf337fa5
commit
3b716f98ff
1 changed files with 24 additions and 1 deletions
|
|
@ -8,8 +8,9 @@ from ..hashindex import NSIndex
|
|||
from ..helpers import Location, IntegrityError
|
||||
from ..locking import Lock, LockFailed
|
||||
from ..remote import RemoteRepository, InvalidRPCMethod
|
||||
from ..repository import Repository, LoggedIO, TAG_COMMIT, MAX_DATA_SIZE
|
||||
from ..repository import Repository, LoggedIO, TAG_DELETE, MAX_DATA_SIZE
|
||||
from . import BaseTestCase
|
||||
from .hashindex import H
|
||||
|
||||
|
||||
UNSPECIFIED = object() # for default values where we can't use None
|
||||
|
|
@ -227,6 +228,28 @@ class RepositoryCommitTestCase(RepositoryTestCaseBase):
|
|||
io = self.repository.io
|
||||
assert not io.is_committed_segment(io.get_latest_segment())
|
||||
|
||||
def test_moved_deletes_are_tracked(self):
|
||||
self.repository.put(H(1), b'1')
|
||||
self.repository.put(H(2), b'2')
|
||||
self.repository.commit()
|
||||
self.repository.delete(H(1))
|
||||
self.repository.commit()
|
||||
last_segment = self.repository.io.get_latest_segment()
|
||||
num_deletes = 0
|
||||
for tag, key, offset, data in self.repository.io.iter_objects(last_segment, include_data=True):
|
||||
if tag == TAG_DELETE:
|
||||
assert key == H(1)
|
||||
num_deletes += 1
|
||||
assert num_deletes == 1
|
||||
assert last_segment in self.repository.compact
|
||||
self.repository.put(H(3), b'3')
|
||||
self.repository.commit()
|
||||
assert last_segment not in self.repository.compact
|
||||
assert not self.repository.io.segment_exists(last_segment)
|
||||
last_segment = self.repository.io.get_latest_segment()
|
||||
for tag, key, offset in self.repository.io.iter_objects(last_segment):
|
||||
assert tag != TAG_DELETE
|
||||
|
||||
|
||||
class RepositoryAppendOnlyTestCase(RepositoryTestCaseBase):
|
||||
def open(self, create=False):
|
||||
|
|
|
|||
Loading…
Reference in a new issue