Make AnsibleError a plain ol' exception

Python's Exception constructor already takes a `message` as a parameter,
which you can then get at by doing str(e) (e.message was deprecated).

The reason I bothered to make this change was because I was debugging
with pdb and I noticed that AnsibleErrors don't give useful information
in pdb (probably because they don't have a __repr__ method that prints
the `msg` attribute).

    (Pdb) c
    > /Users/marca/dev/git-repos/ansible/lib/ansible/runner/__init__.py(599)_executor()
    -> msg = str(ae)
    (Pdb) ae
    AnsibleError()
This commit is contained in:
Marc Abramowitz 2014-11-23 18:08:10 -08:00
parent 751701c6f2
commit 372a29744b
2 changed files with 8 additions and 13 deletions

View file

@ -17,12 +17,7 @@
class AnsibleError(Exception): class AnsibleError(Exception):
''' The base Ansible exception from which all others should subclass ''' ''' The base Ansible exception from which all others should subclass '''
pass
def __init__(self, msg):
self.msg = msg
def __str__(self):
return self.msg
class AnsibleFileNotFound(AnsibleError): class AnsibleFileNotFound(AnsibleError):
pass pass

View file

@ -296,7 +296,7 @@ class TestUtils(unittest.TestCase):
try: try:
ansible.utils.process_yaml_error(exc, data, __file__) ansible.utils.process_yaml_error(exc, data, __file__)
except ansible.errors.AnsibleYAMLValidationFailed, e: except ansible.errors.AnsibleYAMLValidationFailed, e:
self.assertTrue('Syntax Error while loading' in e.msg) self.assertTrue('Syntax Error while loading' in str(e))
else: else:
raise AssertionError('Incorrect exception, expected AnsibleYAMLValidationFailed') raise AssertionError('Incorrect exception, expected AnsibleYAMLValidationFailed')
@ -307,7 +307,7 @@ class TestUtils(unittest.TestCase):
try: try:
ansible.utils.process_yaml_error(exc, data, __file__) ansible.utils.process_yaml_error(exc, data, __file__)
except ansible.errors.AnsibleYAMLValidationFailed, e: except ansible.errors.AnsibleYAMLValidationFailed, e:
self.assertTrue('Syntax Error while loading' in e.msg) self.assertTrue('Syntax Error while loading' in str(e))
else: else:
raise AssertionError('Incorrect exception, expected AnsibleYAMLValidationFailed') raise AssertionError('Incorrect exception, expected AnsibleYAMLValidationFailed')
@ -318,7 +318,7 @@ class TestUtils(unittest.TestCase):
try: try:
ansible.utils.process_yaml_error(exc, data, __file__) ansible.utils.process_yaml_error(exc, data, __file__)
except ansible.errors.AnsibleYAMLValidationFailed, e: except ansible.errors.AnsibleYAMLValidationFailed, e:
self.assertTrue('Check over' in e.msg) self.assertTrue('Check over' in str(e))
else: else:
raise AssertionError('Incorrect exception, expected AnsibleYAMLValidationFailed') raise AssertionError('Incorrect exception, expected AnsibleYAMLValidationFailed')
@ -329,7 +329,7 @@ class TestUtils(unittest.TestCase):
try: try:
ansible.utils.process_yaml_error(exc, data, None) ansible.utils.process_yaml_error(exc, data, None)
except ansible.errors.AnsibleYAMLValidationFailed, e: except ansible.errors.AnsibleYAMLValidationFailed, e:
self.assertTrue('Could not parse YAML.' in e.msg) self.assertTrue('Could not parse YAML.' in str(e))
else: else:
raise AssertionError('Incorrect exception, expected AnsibleYAMLValidationFailed') raise AssertionError('Incorrect exception, expected AnsibleYAMLValidationFailed')
@ -355,7 +355,7 @@ class TestUtils(unittest.TestCase):
try: try:
ansible.utils.parse_yaml_from_file(broken) ansible.utils.parse_yaml_from_file(broken)
except ansible.errors.AnsibleYAMLValidationFailed, e: except ansible.errors.AnsibleYAMLValidationFailed, e:
self.assertTrue('Syntax Error while loading' in e.msg) self.assertTrue('Syntax Error while loading' in str(e))
else: else:
raise AssertionError('Incorrect exception, expected AnsibleYAMLValidationFailed') raise AssertionError('Incorrect exception, expected AnsibleYAMLValidationFailed')
@ -597,8 +597,8 @@ class TestUtils(unittest.TestCase):
try: try:
ansible.utils.deprecated('Ack!', '0.0', True) ansible.utils.deprecated('Ack!', '0.0', True)
except ansible.errors.AnsibleError, e: except ansible.errors.AnsibleError, e:
self.assertTrue('0.0' not in e.msg) self.assertTrue('0.0' not in str(e))
self.assertTrue('[DEPRECATED]' in e.msg) self.assertTrue('[DEPRECATED]' in str(e))
else: else:
raise AssertionError("Incorrect exception, expected AnsibleError") raise AssertionError("Incorrect exception, expected AnsibleError")