diff options
author | Jenkins <jenkins@review.openstack.org> | 2014-07-10 22:38:06 +0000 |
---|---|---|
committer | Gerrit Code Review <review@openstack.org> | 2014-07-10 22:38:06 +0000 |
commit | 2d4aff8f12bf40a6fd8d4a4b90213027719cdd41 (patch) | |
tree | 3a5e934a8d4bc5402f8a0cd012c440184f8e1c94 | |
parent | 5d53ea479fff7f172bd3b5be07bf24f7adbaebcb (diff) | |
parent | 26eb1026f95a5ffc8b5c5a73bb09d715530014b1 (diff) | |
download | oslo-config-2d4aff8f12bf40a6fd8d4a4b90213027719cdd41.tar.gz |
Merge "generator: tweak how MultiStrOpt defaults are handled"1.4.0.0a2
-rw-r--r-- | oslo/config/generator.py | 8 | ||||
-rw-r--r-- | tests/test_generator.py | 27 |
2 files changed, 32 insertions, 3 deletions
diff --git a/oslo/config/generator.py b/oslo/config/generator.py index b94df67..0177cf9 100644 --- a/oslo/config/generator.py +++ b/oslo/config/generator.py @@ -186,8 +186,8 @@ class _OptFormatter(object): if isinstance(opt, cfg.MultiStrOpt): if opt.sample_default is not None: defaults = opt.sample_default - elif opt.default is None: - defaults = ['<None>'] + elif not opt.default: + defaults = [''] else: defaults = opt.default else: @@ -216,7 +216,9 @@ class _OptFormatter(object): for default_str in defaults: if default_str.strip() != default_str: default_str = '"%s"' % default_str - lines.append('#%s = %s\n' % (opt.dest, default_str)) + if default_str: + default_str = ' ' + default_str + lines.append('#%s =%s\n' % (opt.dest, default_str)) self.writelines(lines) diff --git a/tests/test_generator.py b/tests/test_generator.py index aa274e0..6b99967 100644 --- a/tests/test_generator.py +++ b/tests/test_generator.py @@ -85,6 +85,11 @@ class GeneratorTestCase(base.BaseTestCase): 'multi_opt': cfg.MultiStrOpt('multi_opt', default=['1', '2', '3'], help='multiple strings'), + 'multi_opt_none': cfg.MultiStrOpt('multi_opt_none', + help='multiple strings'), + 'multi_opt_empty': cfg.MultiStrOpt('multi_opt_empty', + default=[], + help='multiple strings'), 'multi_opt_sample_default': cfg.MultiStrOpt('multi_opt', default=['1', '2', '3'], sample_default=['5', '6'], @@ -408,6 +413,28 @@ class GeneratorTestCase(base.BaseTestCase): #multi_opt = 2 #multi_opt = 3 ''')), + ('multi_opt_none', + dict(opts=[('test', [(None, [opts['multi_opt_none']])])], + expected='''[DEFAULT] + +# +# From test +# + +# multiple strings (multi valued) +#multi_opt_none = +''')), + ('multi_opt_empty', + dict(opts=[('test', [(None, [opts['multi_opt_empty']])])], + expected='''[DEFAULT] + +# +# From test +# + +# multiple strings (multi valued) +#multi_opt_empty = +''')), ('str_opt_sample_default', dict(opts=[('test', [(None, [opts['str_opt_sample_default']])])], expected='''[DEFAULT] |