Merge branch 'master' into cover-us

pull/530/head
Alex Willmer 5 years ago committed by GitHub
commit 2b1035b500
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -42,6 +42,7 @@ import shlex
import shutil
import sys
import tempfile
import traceback
import types
import mitogen.core
@ -871,6 +872,11 @@ class NewStyleRunner(ScriptRunner):
except SystemExit:
exc = sys.exc_info()[1]
rc = exc.args[0]
except Exception:
# This writes to stderr by default.
traceback.print_exc()
rc = 1
finally:
self.atexit_wrapper.run_callbacks()

@ -266,6 +266,11 @@ Fixes
* `#499 <https://github.com/dw/mitogen/issues/499>`_: the ``allow_same_user``
Ansible configuration setting is respected.
* `#527 <https://github.com/dw/mitogen/issues/527>`_: crashes in modules are
trapped and reported in a manner that matches Ansible. In particular, a
module crash no longer leads to an exception that may crash the corresponding
action plug-in.
* `dc1d4251 <https://github.com/dw/mitogen/commit/dc1d4251>`_: the
``synchronize`` module could fail with the Docker transport due to a missing
attribute.

@ -1,5 +1,6 @@
- include: atexit.yml
- include: builtin_command_module.yml
- include: crashy_new_style_module.yml
- include: custom_bash_hashbang_argument.yml
- include: custom_bash_old_style_module.yml
- include: custom_bash_want_json_module.yml

@ -0,0 +1,18 @@
# issue #527: catch exceptions from crashy modules.
- name: integration/runner/crashy_new_style_module.yml
hosts: test-targets
tasks:
- custom_python_run_script:
script: kaboom
register: out
ignore_errors: true
- assert:
that:
- not out.changed
- out.rc == 1
- out.msg == "MODULE FAILURE"
- out.module_stdout == ""
- "'Traceback (most recent call last)' in out.module_stderr"
- "\"NameError: name 'kaboom' is not defined\" in out.module_stderr"
Loading…
Cancel
Save