Merge "Port cinder.utils.monkey_patch() to Python 3"

This commit is contained in:
Jenkins 2015-11-09 04:19:42 +00:00 committed by Gerrit Code Review
commit 54db043ae9
2 changed files with 5 additions and 2 deletions

@ -389,12 +389,14 @@ def monkey_patch():
# set the decorator for the class methods
if isinstance(module_data[key], pyclbr.Class):
clz = importutils.import_class("%s.%s" % (module, key))
for method, func in inspect.getmembers(clz, inspect.ismethod):
# On Python 3, unbound methods are regular functions
predicate = inspect.isfunction if six.PY3 else inspect.ismethod
for method, func in inspect.getmembers(clz, predicate):
setattr(
clz, method,
decorator("%s.%s.%s" % (module, key, method), func))
# set the decorator for the function
if isinstance(module_data[key], pyclbr.Function):
elif isinstance(module_data[key], pyclbr.Function):
func = importutils.import_class("%s.%s" % (module, key))
setattr(sys.modules[module], key,
decorator("%s.%s" % (module, key), func))

@ -104,6 +104,7 @@ cinder.tests.unit.test_ssh_utils
cinder.tests.unit.test_test
cinder.tests.unit.test_test_utils
cinder.tests.unit.test_tintri
cinder.tests.unit.test_utils
cinder.tests.unit.test_v6000_common
cinder.tests.unit.test_v6000_fcp
cinder.tests.unit.test_v6000_iscsi