diff options
| -rw-r--r-- | openstack/common/cfg.py | 3 | ||||
| -rw-r--r-- | tests/unit/test_cfg.py | 22 |
2 files changed, 24 insertions, 1 deletions
diff --git a/openstack/common/cfg.py b/openstack/common/cfg.py index 9d704c0..69f0de8 100644 --- a/openstack/common/cfg.py +++ b/openstack/common/cfg.py @@ -632,7 +632,8 @@ class Opt(object): kwargs['dest'] = dest else: kwargs['nargs'] = '?' - kwargs.update({'metavar': self.metavar, + kwargs.update({'default': None, + 'metavar': self.metavar, 'help': self.help, }) return kwargs diff --git a/tests/unit/test_cfg.py b/tests/unit/test_cfg.py index fb3d5e3..be64d13 100644 --- a/tests/unit/test_cfg.py +++ b/tests/unit/test_cfg.py @@ -1114,6 +1114,28 @@ class OverridesTestCase(BaseTestCase): self.conf.clear_override('foo', group='blaa') self.assertEquals(self.conf.blaa.foo, None) + def test_cli_bool_default(self): + self.conf.register_cli_opt(BoolOpt('foo')) + self.conf.set_default('foo', True) + self.assertTrue(self.conf.foo) + self.conf([]) + self.assertTrue(self.conf.foo) + self.conf.set_default('foo', False) + self.assertFalse(self.conf.foo) + self.conf.clear_default('foo') + self.assertTrue(self.conf.foo is None) + + def test_cli_bool_override(self): + self.conf.register_cli_opt(BoolOpt('foo')) + self.conf.set_override('foo', True) + self.assertTrue(self.conf.foo) + self.conf([]) + self.assertTrue(self.conf.foo) + self.conf.set_override('foo', False) + self.assertFalse(self.conf.foo) + self.conf.clear_override('foo') + self.assertTrue(self.conf.foo is None) + class ResetAndClearTestCase(BaseTestCase): |
