diff options
-rw-r--r-- | oslo_config/tests/test_types.py | 5 | ||||
-rw-r--r-- | oslo_config/types.py | 2 |
2 files changed, 6 insertions, 1 deletions
diff --git a/oslo_config/tests/test_types.py b/oslo_config/tests/test_types.py index 78e23b5..e4f4779 100644 --- a/oslo_config/tests/test_types.py +++ b/oslo_config/tests/test_types.py @@ -93,6 +93,11 @@ class StringTypeTests(TypeTestHelper, unittest.TestCase): self.type_instance = types.String(quotes=True) self.assertConvertedValue('foo bar"', 'foo bar"') + def test_single_quote_is_invalid(self): + self.type_instance = types.String(quotes=True) + self.assertInvalid('"') + self.assertInvalid("'") + def test_repr(self): t = types.String() self.assertEqual('String', repr(t)) diff --git a/oslo_config/types.py b/oslo_config/types.py index 652599b..223fffb 100644 --- a/oslo_config/types.py +++ b/oslo_config/types.py @@ -144,7 +144,7 @@ class String(ConfigType): value = str(value) if self.quotes and value: if value[0] in "\"'": - if value[-1] != value[0]: + if len(value) == 1 or value[-1] != value[0]: raise ValueError('Non-closed quote: %s' % value) value = value[1:-1] |