test-ovsdb: Workaround unicode bug in Python 2.4.x.
authorGurucharan Shetty <gshetty@nicira.com>
Fri, 20 Jun 2014 20:13:51 +0000 (13:13 -0700)
committerGurucharan Shetty <gshetty@nicira.com>
Fri, 27 Jun 2014 15:18:33 +0000 (08:18 -0700)
Run the following command on Xenserver:
PYTHONPATH=`pwd`/python/compat::`pwd`/python python ./tests/test-ovsdb.py \
parse-atoms '{"type": "string", "minLength": 2}'    \
'[""]'     '["a"]'     '["ab"]'     '["abc"]'     '["\ud834\udd1e"]'

And we get the following error:
UnicodeEncodeError: 'ascii' codec can't encode character u'\U0001d11e'
in position 23: ordinal not in range(128).

It looks like we are hitting the following bug:
http://bugs.python.org/issue2517

Signed-off-by: Gurucharan Shetty <gshetty@nicira.com>
Acked-By: Ben Pfaff <blp@nicira.com>
tests/test-ovsdb.py

index 392ed4b..cec46bd 100644 (file)
@@ -105,7 +105,7 @@ def do_parse_atoms(type_string, *atom_strings):
             atom = data.Atom.from_json(base, atom_json)
             print ovs.json.to_string(atom.to_json())
         except error.Error, e:
-            print unicode(e)
+            print e.args[0].encode("utf8")
 
 
 def do_parse_data(type_string, *data_strings):