From 3515e22e2de717357cefa55b826260a44135f7ac Mon Sep 17 00:00:00 2001 From: Josh Durgin Date: Thu, 12 Nov 2015 00:57:36 -0800 Subject: [PATCH] pybind/rados: return pool_reverse_lookup() result as a string This makes it symmetric with create_pool() in python 3. Signed-off-by: Josh Durgin --- src/pybind/rados.py | 2 +- src/test/pybind/test_rados.py | 12 ++++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/src/pybind/rados.py b/src/pybind/rados.py index 75eb262a5a594..81aa4094fe7f9 100644 --- a/src/pybind/rados.py +++ b/src/pybind/rados.py @@ -629,7 +629,7 @@ Rados object in state %s." % self.state) elif ret < 0: raise make_ex(ret, "error reverse looking up pool '%s'" % pool_id) else: - return c_name.value + return decode_cstr(c_name.value) break @requires(('pool_name', str_type), ('auid', opt(int)), ('crush_rule', opt(int))) diff --git a/src/test/pybind/test_rados.py b/src/test/pybind/test_rados.py index 1991d0c815a66..9a5f15762aec2 100644 --- a/src/test/pybind/test_rados.py +++ b/src/test/pybind/test_rados.py @@ -141,6 +141,18 @@ class TestRados(object): assert self.rados.pool_exists(u"\u9ec4") self.rados.delete_pool(poolname) + def test_pool_lookup_utf8(self): + if _python2: + poolname = u'\u9ec4' + else: + poolname = '\u9ec4' + self.rados.create_pool(poolname) + try: + poolid = self.rados.pool_lookup(poolname) + eq(poolname, self.rados.pool_reverse_lookup(poolid)) + finally: + self.rados.delete_pool(poolname) + def test_create_auid(self): self.rados.create_pool('foo', 100) assert self.rados.pool_exists('foo') -- 2.39.5