diff options
author | Jenkins <jenkins@review.openstack.org> | 2017-01-09 20:11:05 +0000 |
---|---|---|
committer | Gerrit Code Review <review@openstack.org> | 2017-01-09 20:11:05 +0000 |
commit | 3ffb18ea600dd2e8455683e20dea79d871a221e2 (patch) | |
tree | e2e65bdc520198c60fe3e81bc5b0efa3fbe84b73 | |
parent | 978522a8b2980f982b34be94a8eabd5f8631c19d (diff) | |
parent | 71075cec205afbaa61836b20f1b2704f2c2e6e3b (diff) | |
download | oslo-config-3ffb18ea600dd2e8455683e20dea79d871a221e2.tar.gz |
Merge "fix interpolation of None value"
-rw-r--r-- | oslo_config/cfg.py | 2 | ||||
-rw-r--r-- | oslo_config/tests/test_cfg.py | 11 |
2 files changed, 13 insertions, 0 deletions
diff --git a/oslo_config/cfg.py b/oslo_config/cfg.py index f98f799..1047bf6 100644 --- a/oslo_config/cfg.py +++ b/oslo_config/cfg.py @@ -3284,6 +3284,8 @@ class ConfigOpts(collections.Mapping): if isinstance(value, self.conf.GroupAttr): raise TemplateSubstitutionError( 'substituting group %s not supported' % key) + if value is None: + return '' return value diff --git a/oslo_config/tests/test_cfg.py b/oslo_config/tests/test_cfg.py index 8c3fb0c..6a46884 100644 --- a/oslo_config/tests/test_cfg.py +++ b/oslo_config/tests/test_cfg.py @@ -3635,6 +3635,17 @@ class SadPathTestCase(BaseTestCase): def test_conf_file_bad_float(self): self._do_test_conf_file_bad_value(cfg.FloatOpt) + def test_str_sub_none_value(self): + self.conf.register_cli_opt(cfg.StrOpt('oo')) + self.conf.register_cli_opt(cfg.StrOpt('bar', default='$oo')) + self.conf.register_cli_opt(cfg.StrOpt('barbar', default='foo $oo foo')) + + self.conf([]) + + self.assertTrue(hasattr(self.conf, 'bar')) + self.assertEqual('', self.conf.bar) + self.assertEqual("foo foo", self.conf.barbar) + def test_str_sub_from_group(self): self.conf.register_group(cfg.OptGroup('f')) self.conf.register_cli_opt(cfg.StrOpt('oo', default='blaa'), group='f') |