summaryrefslogtreecommitdiff
path: root/oslo_utils/tests/test_reflection.py
diff options
context:
space:
mode:
Diffstat (limited to 'oslo_utils/tests/test_reflection.py')
-rw-r--r--oslo_utils/tests/test_reflection.py13
1 files changed, 12 insertions, 1 deletions
diff --git a/oslo_utils/tests/test_reflection.py b/oslo_utils/tests/test_reflection.py
index 34384f7..84ba607 100644
--- a/oslo_utils/tests/test_reflection.py
+++ b/oslo_utils/tests/test_reflection.py
@@ -14,6 +14,8 @@
# License for the specific language governing permissions and limitations
# under the License.
+import sys
+
from oslotest import base as test_base
import six
import testtools
@@ -153,7 +155,16 @@ class CallbackEqualityTest(test_base.BaseTestCase):
c = A()
self.assertFalse(reflection.is_same_callback(b.b, c.b))
- self.assertTrue(reflection.is_same_callback(b.b, c.b, strict=False))
+ # NOTE(gmann): python3.8 onwards, comparision of bound methods is
+ # changed and 'strict' arg has no meaning.
+ # Ref bug: https://bugs.launchpad.net/oslo.utils/+bug/1841072
+ if sys.version_info < (3, 8):
+ self.assertTrue(reflection.is_same_callback(b.b, c.b,
+ strict=False))
+ else:
+ self.assertFalse(reflection.is_same_callback(b.b, c.b,
+ strict=False))
+ self.assertTrue(reflection.is_same_callback(b.b, b.b))
class BoundMethodTest(test_base.BaseTestCase):