From d388c8a67bd8da8295720fd4f11c36845c7b5f89 Mon Sep 17 00:00:00 2001 From: Davanum Srinivas Date: Sat, 27 Jun 2015 21:44:01 -0400 Subject: [PATCH] Fix exception to string in py34 python 3.4 does not have a self.message, so we need to set one up in our own base class so the conversion to string work. Change-Id: I5d963125ccb5cc29fa0563313d229046a81ca3d0 --- oslo_vmware/exceptions.py | 2 ++ oslo_vmware/tests/test_exceptions.py | 5 ++++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/oslo_vmware/exceptions.py b/oslo_vmware/exceptions.py index 0693881..61b83b3 100644 --- a/oslo_vmware/exceptions.py +++ b/oslo_vmware/exceptions.py @@ -86,6 +86,8 @@ class VMwareDriverException(Exception): # at least get the core message out if something happened message = self.msg_fmt + if six.PY3: + self.message = message super(VMwareDriverException, self).__init__(message) @property diff --git a/oslo_vmware/tests/test_exceptions.py b/oslo_vmware/tests/test_exceptions.py index 00e43ad..419b769 100644 --- a/oslo_vmware/tests/test_exceptions.py +++ b/oslo_vmware/tests/test_exceptions.py @@ -16,7 +16,6 @@ """ Unit tests for exceptions module. """ - from oslo_vmware._i18n import _ from oslo_vmware import exceptions from oslo_vmware.tests import base @@ -79,6 +78,10 @@ class ExceptionsTest(base.TestCase): exceptions.register_fault_class, 'ValueError', ValueError) + def test_log_exception_to_string(self): + self.assertEqual('Insufficient disk space.', + str(exceptions.NoDiskSpaceException())) + def test_get_fault_class(self): self.assertEqual(exceptions.AlreadyExistsException, exceptions.get_fault_class("AlreadyExists"))