python/samba/tests: PY3 Fix str/bytes issue for json.loads
authorNoel Power <noel.power@suse.com>
Thu, 25 Oct 2018 18:10:30 +0000 (19:10 +0100)
committerAndrew Bartlett <abartlet@samba.org>
Wed, 14 Nov 2018 04:07:17 +0000 (05:07 +0100)
Python 3.4 seems to need a string

    parsed = json.loads (out_jsobj)
  File "/usr/lib/python3.4/json/__init__.py", line 312, in loads
    s.__class__.__name__))
TypeError: the JSON object must be str, not 'bytes'

however Python 3.5 seems to be happy to consume bytes (or string)

Signed-off-by: Noel Power <noel.power@suse.com>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
python/samba/tests/blackbox/netads_json.py

index f904a82dfa2cc562a2c4551531f026db0eba08c1..1c254468d36748b9759457bc00a1419c2916d4cf 100644 (file)
@@ -43,7 +43,7 @@ class BaseWrapper (object):
             argv = "%s %s --json" % (COMMAND, self.subcmd)
             try:
                 out = self.check_output(argv)
-                json.loads (out)
+                json.loads (get_string(out))
             except samba.tests.BlackboxProcessError as e:
                 self.fail("Error calling [%s]: %s" % (argv, e))
 
@@ -67,7 +67,7 @@ class BaseWrapper (object):
             except samba.tests.BlackboxProcessError as e:
                 self.fail("Error calling [%s]: %s" % (argv, e))
 
-            parsed = json.loads (out_jsobj)
+            parsed = json.loads (get_string(out_jsobj))
 
             for key in [ re.match (PLAIN_KEY_REGEX, line).group(1)
                          for line in out_plain.split ("\n")