Fix a traceback when the "data" consistency check is used (#854).
This commit is contained in:
parent
058af95d70
commit
f926055e67
3 changed files with 13 additions and 12 deletions
1
NEWS
1
NEWS
|
@ -1,6 +1,7 @@
|
||||||
1.8.11.dev0
|
1.8.11.dev0
|
||||||
* #851: Fix lack of file extraction when using "extract --strip-components all" on a path with a
|
* #851: Fix lack of file extraction when using "extract --strip-components all" on a path with a
|
||||||
leading slash.
|
leading slash.
|
||||||
|
* #854: Fix a traceback when the "data" consistency check is used.
|
||||||
|
|
||||||
1.8.10
|
1.8.10
|
||||||
* #656 (beta): Add a "spot" consistency check that compares file counts and contents between your
|
* #656 (beta): Add a "spot" consistency check that compares file counts and contents between your
|
||||||
|
|
|
@ -52,8 +52,8 @@ def make_archive_filter_flags(local_borg_version, config, checks, check_argument
|
||||||
|
|
||||||
def make_check_flags(checks, archive_filter_flags):
|
def make_check_flags(checks, archive_filter_flags):
|
||||||
'''
|
'''
|
||||||
Given a parsed sequence of checks and a sequence of flags to filter archives, transform the
|
Given a parsed checks set and a sequence of flags to filter archives,
|
||||||
checks into tuple of command-line check flags.
|
transform the checks into tuple of command-line check flags.
|
||||||
|
|
||||||
For example, given parsed checks of:
|
For example, given parsed checks of:
|
||||||
|
|
||||||
|
@ -68,13 +68,13 @@ def make_check_flags(checks, archive_filter_flags):
|
||||||
'''
|
'''
|
||||||
if 'data' in checks:
|
if 'data' in checks:
|
||||||
data_flags = ('--verify-data',)
|
data_flags = ('--verify-data',)
|
||||||
checks += ('archives',)
|
checks.update({'archives'})
|
||||||
else:
|
else:
|
||||||
data_flags = ()
|
data_flags = ()
|
||||||
|
|
||||||
common_flags = (archive_filter_flags if 'archives' in checks else ()) + data_flags
|
common_flags = (archive_filter_flags if 'archives' in checks else ()) + data_flags
|
||||||
|
|
||||||
if {'repository', 'archives'}.issubset(set(checks)):
|
if {'repository', 'archives'}.issubset(checks):
|
||||||
return common_flags
|
return common_flags
|
||||||
|
|
||||||
return (
|
return (
|
||||||
|
|
|
@ -223,25 +223,25 @@ def test_make_archive_filter_flags_with_default_checks_and_prefix_includes_match
|
||||||
|
|
||||||
|
|
||||||
def test_make_check_flags_with_repository_check_returns_flag():
|
def test_make_check_flags_with_repository_check_returns_flag():
|
||||||
flags = module.make_check_flags(('repository',), ())
|
flags = module.make_check_flags({'repository'}, ())
|
||||||
|
|
||||||
assert flags == ('--repository-only',)
|
assert flags == ('--repository-only',)
|
||||||
|
|
||||||
|
|
||||||
def test_make_check_flags_with_archives_check_returns_flag():
|
def test_make_check_flags_with_archives_check_returns_flag():
|
||||||
flags = module.make_check_flags(('archives',), ())
|
flags = module.make_check_flags({'archives'}, ())
|
||||||
|
|
||||||
assert flags == ('--archives-only',)
|
assert flags == ('--archives-only',)
|
||||||
|
|
||||||
|
|
||||||
def test_make_check_flags_with_archives_check_and_archive_filter_flags_includes_those_flags():
|
def test_make_check_flags_with_archives_check_and_archive_filter_flags_includes_those_flags():
|
||||||
flags = module.make_check_flags(('archives',), ('--match-archives', 'sh:foo-*'))
|
flags = module.make_check_flags({'archives'}, ('--match-archives', 'sh:foo-*'))
|
||||||
|
|
||||||
assert flags == ('--archives-only', '--match-archives', 'sh:foo-*')
|
assert flags == ('--archives-only', '--match-archives', 'sh:foo-*')
|
||||||
|
|
||||||
|
|
||||||
def test_make_check_flags_without_archives_check_and_with_archive_filter_flags_includes_those_flags():
|
def test_make_check_flags_without_archives_check_and_with_archive_filter_flags_includes_those_flags():
|
||||||
flags = module.make_check_flags(('repository',), ('--match-archives', 'sh:foo-*'))
|
flags = module.make_check_flags({'repository'}, ('--match-archives', 'sh:foo-*'))
|
||||||
|
|
||||||
assert flags == ('--repository-only',)
|
assert flags == ('--repository-only',)
|
||||||
|
|
||||||
|
@ -250,7 +250,7 @@ def test_make_check_flags_with_data_check_returns_flag_and_implies_archives():
|
||||||
flexmock(module.feature).should_receive('available').and_return(True)
|
flexmock(module.feature).should_receive('available').and_return(True)
|
||||||
flexmock(module.flags).should_receive('make_match_archives_flags').and_return(())
|
flexmock(module.flags).should_receive('make_match_archives_flags').and_return(())
|
||||||
|
|
||||||
flags = module.make_check_flags(('data',), ())
|
flags = module.make_check_flags({'data'}, ())
|
||||||
|
|
||||||
assert flags == (
|
assert flags == (
|
||||||
'--archives-only',
|
'--archives-only',
|
||||||
|
@ -262,7 +262,7 @@ def test_make_check_flags_with_extract_omits_extract_flag():
|
||||||
flexmock(module.feature).should_receive('available').and_return(True)
|
flexmock(module.feature).should_receive('available').and_return(True)
|
||||||
flexmock(module.flags).should_receive('make_match_archives_flags').and_return(())
|
flexmock(module.flags).should_receive('make_match_archives_flags').and_return(())
|
||||||
|
|
||||||
flags = module.make_check_flags(('extract',), ())
|
flags = module.make_check_flags({'extract'}, ())
|
||||||
|
|
||||||
assert flags == ()
|
assert flags == ()
|
||||||
|
|
||||||
|
@ -272,10 +272,10 @@ def test_make_check_flags_with_repository_and_data_checks_does_not_return_reposi
|
||||||
flexmock(module.flags).should_receive('make_match_archives_flags').and_return(())
|
flexmock(module.flags).should_receive('make_match_archives_flags').and_return(())
|
||||||
|
|
||||||
flags = module.make_check_flags(
|
flags = module.make_check_flags(
|
||||||
(
|
{
|
||||||
'repository',
|
'repository',
|
||||||
'data',
|
'data',
|
||||||
),
|
},
|
||||||
(),
|
(),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue