summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cloudinit/util.py2
-rw-r--r--tests/unittests/test_util.py8
2 files changed, 9 insertions, 1 deletions
diff --git a/cloudinit/util.py b/cloudinit/util.py
index 05cb587c..eb3e5899 100644
--- a/cloudinit/util.py
+++ b/cloudinit/util.py
@@ -154,7 +154,7 @@ def target_path(target, path=None):
def decode_binary(blob, encoding='utf-8'):
# Converts a binary type into a text type using given encoding.
- if isinstance(blob, six.text_type):
+ if isinstance(blob, six.string_types):
return blob
return blob.decode(encoding)
diff --git a/tests/unittests/test_util.py b/tests/unittests/test_util.py
index 30f603cb..fc6b9d40 100644
--- a/tests/unittests/test_util.py
+++ b/tests/unittests/test_util.py
@@ -603,4 +603,12 @@ class TestSubp(helpers.TestCase):
self.assertEqual("/target/my/path/",
util.target_path("/target/", "///my/path/"))
+
+class TestEncode(helpers.TestCase):
+ """Test the encoding functions"""
+ def test_decode_binary_plain_text_with_hex(self):
+ blob = 'BOOTABLE_FLAG=\x80init=/bin/systemd'
+ text = util.decode_binary(blob)
+ self.assertEqual(text, blob)
+
# vi: ts=4 expandtab