summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--oslo_config/tests/test_types.py5
-rw-r--r--oslo_config/types.py2
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]