diff options
| author | Jenkins <jenkins@review.openstack.org> | 2012-12-03 17:44:10 +0000 |
|---|---|---|
| committer | Gerrit Code Review <review@openstack.org> | 2012-12-03 17:44:10 +0000 |
| commit | ba304889081ebdbd504ca1a2d212d893de12fd4a (patch) | |
| tree | e50bf036cfb3d02165f155bf8efa22c9e821d224 | |
| parent | 6a52dc7527172c38b689eae0e238e3b250a530fa (diff) | |
| parent | 2b9ad7bdb94d54a46068bd8864fb8bb96161bcf5 (diff) | |
| download | oslo-ba304889081ebdbd504ca1a2d212d893de12fd4a.tar.gz oslo-ba304889081ebdbd504ca1a2d212d893de12fd4a.tar.xz oslo-ba304889081ebdbd504ca1a2d212d893de12fd4a.zip | |
Merge "Fix set_default() with boolean CLI 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): |
