Fix AttributeError in exception handler
The exception handler of save_state() caused an AttributeError
because it tried to get the output attribute of the Exception,
which does not exist in general. Added a test to cover this
scenario.
Change-Id: I36acdee1f8782b17c234f6b250facc5c8d0aaf87
(cherry picked from commit 384b83d88b
)
This commit is contained in:
parent
0a062cd664
commit
7aaac224cb
@ -165,6 +165,5 @@ class HAProxyQuery(object):
|
||||
except Exception as e:
|
||||
# Catch any exception - may be socket issue, or write permission
|
||||
# issue as well.
|
||||
LOG.warning("Unable to save state: %(err)s %(output)s",
|
||||
{'err': e, 'output': e.output})
|
||||
LOG.warning("Unable to save state: %r", e)
|
||||
return False
|
||||
|
@ -159,3 +159,15 @@ class QueryTestCase(base.TestCase):
|
||||
self.q.save_state(filename)
|
||||
|
||||
mock_fh.write.assert_called_once_with('DATA')
|
||||
|
||||
def test_save_state_error(self):
|
||||
"""save_state() should swallow exceptions"""
|
||||
filename = 'state_file'
|
||||
|
||||
query_mock = mock.Mock(side_effect=OSError())
|
||||
self.q._query = query_mock
|
||||
|
||||
try:
|
||||
self.q.save_state(filename)
|
||||
except Exception as ex:
|
||||
self.fail("save_state() raised %r unexpectedly!" % ex)
|
||||
|
Loading…
Reference in New Issue
Block a user