Merge override values when specifying the "--override" flag multiple times (#361).
This commit is contained in:
parent
446a2bc15a
commit
1ea04aedf0
3 changed files with 32 additions and 0 deletions
2
NEWS
2
NEWS
|
@ -2,6 +2,8 @@
|
|||
* #341: Add "temporary_directory" option for changing Borg's temporary directory.
|
||||
* #352: Lock down systemd security settings in sample systemd service file.
|
||||
* #355: Fix traceback when a database hook value is null in a configuration file.
|
||||
* #361: Merge override values when specifying the "--override" flag multiple times. The previous
|
||||
behavior was to take the value of the last "--override" flag only.
|
||||
|
||||
1.5.10
|
||||
* #347: Add hooks that run for the "extract" action: "before_extract" and "after_extract".
|
||||
|
|
|
@ -178,6 +178,7 @@ def parse_arguments(*unparsed_arguments):
|
|||
metavar='SECTION.OPTION=VALUE',
|
||||
nargs='+',
|
||||
dest='overrides',
|
||||
action='extend',
|
||||
help='One or more configuration file options to override with specified values',
|
||||
)
|
||||
global_group.add_argument(
|
||||
|
|
|
@ -71,6 +71,35 @@ def test_parse_arguments_with_log_file_verbosity_overrides_default():
|
|||
assert global_arguments.log_file_verbosity == -1
|
||||
|
||||
|
||||
def test_parse_arguments_with_single_override_parses():
|
||||
flexmock(module.collect).should_receive('get_default_config_paths').and_return(['default'])
|
||||
|
||||
arguments = module.parse_arguments('--override', 'foo.bar=baz')
|
||||
|
||||
global_arguments = arguments['global']
|
||||
assert global_arguments.overrides == ['foo.bar=baz']
|
||||
|
||||
|
||||
def test_parse_arguments_with_multiple_overrides_parses():
|
||||
flexmock(module.collect).should_receive('get_default_config_paths').and_return(['default'])
|
||||
|
||||
arguments = module.parse_arguments('--override', 'foo.bar=baz', 'foo.quux=7')
|
||||
|
||||
global_arguments = arguments['global']
|
||||
assert global_arguments.overrides == ['foo.bar=baz', 'foo.quux=7']
|
||||
|
||||
|
||||
def test_parse_arguments_with_multiple_overrides_and_flags_parses():
|
||||
flexmock(module.collect).should_receive('get_default_config_paths').and_return(['default'])
|
||||
|
||||
arguments = module.parse_arguments(
|
||||
'--override', 'foo.bar=baz', '--override', 'foo.quux=7', 'this.that=8'
|
||||
)
|
||||
|
||||
global_arguments = arguments['global']
|
||||
assert global_arguments.overrides == ['foo.bar=baz', 'foo.quux=7', 'this.that=8']
|
||||
|
||||
|
||||
def test_parse_arguments_with_list_json_overrides_default():
|
||||
arguments = module.parse_arguments('list', '--json')
|
||||
|
||||
|
|
Loading…
Reference in a new issue