mirror of https://github.com/ansible/ansible.git
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
17 lines
766 B
ReStructuredText
17 lines
766 B
ReStructuredText
7 years ago
|
Sanity Tests » no-assert
|
||
|
========================
|
||
|
|
||
|
Do not use ``assert`` in production Ansible python code. When running Python
|
||
|
with optimizations, Python will remove ``assert`` statements, potentially
|
||
|
allowing for unexpected behavior throughout the Ansible code base.
|
||
|
|
||
|
Instead of using ``assert`` you should utilize simple ``if`` statements,
|
||
|
that result in raising an exception. There is a new exception called
|
||
|
``AnsibleAssertionError`` that inherits from ``AnsibleError`` and
|
||
|
``AssertionError``. When possible, utilize a more specific exception
|
||
|
than ``AnsibleAssertionError``.
|
||
|
|
||
|
Modules will not have access to ``AnsibleAssertionError`` and should instead
|
||
|
raise ``AssertionError``, a more specific exception, or just use
|
||
|
``module.fail_json`` at the failure point.
|