From 2b9bafd269a34c2e0b434adf3331fa67b35b5a6d Mon Sep 17 00:00:00 2001 From: Julien Danjou <julien@danjou.info> Date: Mon, 2 Dec 2013 15:02:23 +0100 Subject: [PATCH] Simplify common base exception prototype It seems there's no gain in trying to be smarter and different from the base Python Exception, so let's remove our custom code to be more compatible and friendly with all Python versions. Change-Id: I259783ef1f77c6661ea7dc2325605c8d6290b898 --- oslo/messaging/exceptions.py | 6 ------ tests/test_exception_serialization.py | 13 +++++-------- tests/test_transport.py | 4 ++-- 3 files changed, 7 insertions(+), 16 deletions(-) diff --git a/oslo/messaging/exceptions.py b/oslo/messaging/exceptions.py index b6bbb74be..7eba1c6b9 100644 --- a/oslo/messaging/exceptions.py +++ b/oslo/messaging/exceptions.py @@ -19,12 +19,6 @@ __all__ = ['MessagingException', 'MessagingTimeout', 'InvalidTarget'] class MessagingException(Exception): """Base class for exceptions.""" - def __init__(self, msg=None): - self.msg = msg - - def __str__(self): - return self.msg - class MessagingTimeout(MessagingException): """Raised if message sending times out.""" diff --git a/tests/test_exception_serialization.py b/tests/test_exception_serialization.py index 8884c60d3..4c06c3a2c 100644 --- a/tests/test_exception_serialization.py +++ b/tests/test_exception_serialization.py @@ -15,6 +15,7 @@ import sys +import six import testscenarios from oslo import messaging @@ -161,7 +162,6 @@ class DeserializeRemoteExceptionTestCase(test_utils.BaseTestCase): args=['test'], kwargs={}, str='test\ntraceback\ntraceback\n', - message='test', remote_name='Exception', remote_args=('test\ntraceback\ntraceback\n', ), remote_kwargs={})), @@ -173,7 +173,6 @@ class DeserializeRemoteExceptionTestCase(test_utils.BaseTestCase): args=[], kwargs={}, str='test\ntraceback\ntraceback\n', - message='I am Nova', remote_name='NovaStyleException_Remote', remote_args=('I am Nova', ), remote_kwargs={})), @@ -185,7 +184,6 @@ class DeserializeRemoteExceptionTestCase(test_utils.BaseTestCase): args=['testing'], kwargs={}, str='test\ntraceback\ntraceback\n', - message='testing', remote_name='NovaStyleException_Remote', remote_args=('testing', ), remote_kwargs={})), @@ -197,7 +195,6 @@ class DeserializeRemoteExceptionTestCase(test_utils.BaseTestCase): args=[], kwargs={'who': 'Oslo'}, str='test\ntraceback\ntraceback\n', - message='I am Oslo', remote_name='KwargsStyleException_Remote', remote_args=('I am Oslo', ), remote_kwargs={})), @@ -299,9 +296,9 @@ class DeserializeRemoteExceptionTestCase(test_utils.BaseTestCase): self.assertIsInstance(ex, self.cls) self.assertEqual(ex.__class__.__name__, self.remote_name) - self.assertEqual(str(ex), self.str) + self.assertEqual(six.text_type(ex), self.str) if hasattr(self, 'msg'): - self.assertEqual(ex.msg, self.msg) + self.assertEqual(six.text_type(ex), self.msg) + self.assertEqual(ex.args, (self.msg,) + self.remote_args) else: - self.assertEqual(ex.message, self.message) - self.assertEqual(ex.args, self.remote_args) + self.assertEqual(ex.args, self.remote_args) diff --git a/tests/test_transport.py b/tests/test_transport.py index dcf59555c..317bb91b0 100644 --- a/tests/test_transport.py +++ b/tests/test_transport.py @@ -18,6 +18,7 @@ import itertools import fixtures import mox from oslo.config import cfg +import six from stevedore import driver import testscenarios @@ -181,8 +182,7 @@ class GetTransportSadPathTestCase(test_utils.BaseTestCase): self.assertIsInstance(ex, messaging.MessagingException) self.assertIsInstance(ex, ex_cls) - self.assertTrue(hasattr(ex, 'msg')) - self.assertIn(ex_msg_contains, ex.msg) + self.assertIn(ex_msg_contains, six.text_type(ex)) for k, v in self.ex.items(): self.assertTrue(hasattr(ex, k))