From a4b17cbb80b48c8e4bcd7cc005139f8e66066d68 Mon Sep 17 00:00:00 2001 From: Cyril Roelandt Date: Thu, 18 Jun 2015 11:52:28 +0000 Subject: [PATCH] Python3: do not use im_self/im_func/func_closure One should use __self__, __func__ and __closure__ instead, as they work with both Python 2 and 3. Change-Id: I2b2847cfd5b4fa70e45387ff369240227ce9e526 Blueprint: neutron-python3 --- neutron/tests/unit/common/test_log.py | 2 +- neutron/tests/unit/common/test_utils.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/neutron/tests/unit/common/test_log.py b/neutron/tests/unit/common/test_log.py index ed396ce7390..b6ed65b43a3 100644 --- a/neutron/tests/unit/common/test_log.py +++ b/neutron/tests/unit/common/test_log.py @@ -29,7 +29,7 @@ class TestCallLog(base.BaseTestCase): def setUp(self): super(TestCallLog, self).setUp() self.klass = TargetKlass() - logger = self.klass.test_method.im_func.func_closure[0].cell_contents + logger = self.klass.test_method.__func__.__closure__[0].cell_contents self.log_debug = mock.patch.object(logger, 'debug').start() def _test_call_log(self, *args, **kwargs): diff --git a/neutron/tests/unit/common/test_utils.py b/neutron/tests/unit/common/test_utils.py index cee645c8d54..82c84904c00 100644 --- a/neutron/tests/unit/common/test_utils.py +++ b/neutron/tests/unit/common/test_utils.py @@ -418,7 +418,7 @@ class TestCachingDecorator(base.BaseTestCase): self.func_name = '%(module)s._CachingDecorator.func' % { 'module': self.__module__ } - self.not_cached = self.decor.func.func.im_self._not_cached + self.not_cached = self.decor.func.func.__self__._not_cached def test_cache_miss(self): expected_key = (self.func_name, 1, 2, ('foo', 'bar'))