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.
|
* #341: Add "temporary_directory" option for changing Borg's temporary directory.
|
||||||
* #352: Lock down systemd security settings in sample systemd service file.
|
* #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.
|
* #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
|
1.5.10
|
||||||
* #347: Add hooks that run for the "extract" action: "before_extract" and "after_extract".
|
* #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',
|
metavar='SECTION.OPTION=VALUE',
|
||||||
nargs='+',
|
nargs='+',
|
||||||
dest='overrides',
|
dest='overrides',
|
||||||
|
action='extend',
|
||||||
help='One or more configuration file options to override with specified values',
|
help='One or more configuration file options to override with specified values',
|
||||||
)
|
)
|
||||||
global_group.add_argument(
|
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
|
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():
|
def test_parse_arguments_with_list_json_overrides_default():
|
||||||
arguments = module.parse_arguments('list', '--json')
|
arguments = module.parse_arguments('list', '--json')
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue