mirror of
https://github.com/borgbackup/borg.git
synced 2026-03-18 08:32:21 -04:00
Merge pull request #2759 from enkore/f/missing-tests
Add some missing tests
This commit is contained in:
commit
c9e71672bb
2 changed files with 42 additions and 8 deletions
|
|
@ -411,14 +411,22 @@ class Archiver:
|
|||
yield path
|
||||
shutil.rmtree(path)
|
||||
|
||||
for msg, count, size, random in [
|
||||
('Z-BIG', 10, 100000000, False),
|
||||
('R-BIG', 10, 100000000, True),
|
||||
('Z-MEDIUM', 1000, 1000000, False),
|
||||
('R-MEDIUM', 1000, 1000000, True),
|
||||
('Z-SMALL', 10000, 10000, False),
|
||||
('R-SMALL', 10000, 10000, True),
|
||||
]:
|
||||
if '_BORG_BENCHMARK_CRUD_TEST' in os.environ:
|
||||
tests = [
|
||||
('Z-TEST', 1, 1, False),
|
||||
('R-TEST', 1, 1, True),
|
||||
]
|
||||
else:
|
||||
tests = [
|
||||
('Z-BIG', 10, 100000000, False),
|
||||
('R-BIG', 10, 100000000, True),
|
||||
('Z-MEDIUM', 1000, 1000000, False),
|
||||
('R-MEDIUM', 1000, 1000000, True),
|
||||
('Z-SMALL', 10000, 10000, False),
|
||||
('R-SMALL', 10000, 10000, True),
|
||||
]
|
||||
|
||||
for msg, count, size, random in tests:
|
||||
with test_files(args.path, count, size, random) as path:
|
||||
dt_create, dt_update, dt_extract, dt_delete = measurement_run(args.location.canonical_path(), path)
|
||||
total_size_MB = count * size / 1e06
|
||||
|
|
@ -430,6 +438,8 @@ class Archiver:
|
|||
print(fmt % ('U', msg, total_size_MB / dt_update, count, file_size_formatted, content, dt_update))
|
||||
print(fmt % ('D', msg, total_size_MB / dt_delete, count, file_size_formatted, content, dt_delete))
|
||||
|
||||
return 0
|
||||
|
||||
@with_repository(fake='dry_run', exclusive=True, compatibility=(Manifest.Operation.WRITE,))
|
||||
def do_create(self, args, repository, manifest=None, key=None):
|
||||
"""Create new archive"""
|
||||
|
|
|
|||
|
|
@ -2607,6 +2607,30 @@ id: 2 / e29442 3506da 4e1ea7 / 25f62a 5a3d41 - 02
|
|||
assert '_meta' in result
|
||||
assert '_items' in result
|
||||
|
||||
def test_debug_refcount_obj(self):
|
||||
self.cmd('init', '--encryption=repokey', self.repository_location)
|
||||
output = self.cmd('debug', 'refcount-obj', self.repository_location, '0' * 64).strip()
|
||||
assert output == 'object 0000000000000000000000000000000000000000000000000000000000000000 not found [info from chunks cache].'
|
||||
|
||||
create_json = json.loads(self.cmd('create', '--json', self.repository_location + '::test', 'input'))
|
||||
archive_id = create_json['archive']['id']
|
||||
output = self.cmd('debug', 'refcount-obj', self.repository_location, archive_id).strip()
|
||||
assert output == 'object ' + archive_id + ' has 1 referrers [info from chunks cache].'
|
||||
|
||||
# Invalid IDs do not abort or return an error
|
||||
output = self.cmd('debug', 'refcount-obj', self.repository_location, '124', 'xyza').strip()
|
||||
assert output == 'object id 124 is invalid.\nobject id xyza is invalid.'
|
||||
|
||||
def test_debug_info(self):
|
||||
output = self.cmd('debug', 'info')
|
||||
assert 'CRC implementation' in output
|
||||
assert 'Python' in output
|
||||
|
||||
def test_benchmark_crud(self):
|
||||
self.cmd('init', '--encryption=repokey', self.repository_location)
|
||||
with environment_variable(_BORG_BENCHMARK_CRUD_TEST='YES'):
|
||||
self.cmd('benchmark', 'crud', self.repository_location, self.input_path)
|
||||
|
||||
requires_gnutar = pytest.mark.skipif(not have_gnutar(), reason='GNU tar must be installed for this test.')
|
||||
requires_gzip = pytest.mark.skipif(not shutil.which('gzip'), reason='gzip must be installed for this test.')
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue