summaryrefslogtreecommitdiffstats
path: root/test/integration/targets/module_tracebacks
diff options
context:
space:
mode:
Diffstat (limited to 'test/integration/targets/module_tracebacks')
-rw-r--r--test/integration/targets/module_tracebacks/aliases3
-rw-r--r--test/integration/targets/module_tracebacks/inventory5
-rwxr-xr-xtest/integration/targets/module_tracebacks/runme.sh5
-rw-r--r--test/integration/targets/module_tracebacks/traceback.yml21
4 files changed, 34 insertions, 0 deletions
diff --git a/test/integration/targets/module_tracebacks/aliases b/test/integration/targets/module_tracebacks/aliases
new file mode 100644
index 0000000..f4df8a9
--- /dev/null
+++ b/test/integration/targets/module_tracebacks/aliases
@@ -0,0 +1,3 @@
+shippable/posix/group3
+needs/ssh
+context/controller
diff --git a/test/integration/targets/module_tracebacks/inventory b/test/integration/targets/module_tracebacks/inventory
new file mode 100644
index 0000000..9156526
--- /dev/null
+++ b/test/integration/targets/module_tracebacks/inventory
@@ -0,0 +1,5 @@
+testhost_local ansible_connection=local
+testhost_ssh ansible_connection=ssh ansible_host=localhost
+
+[all:vars]
+ansible_python_interpreter="{{ ansible_playbook_python }}"
diff --git a/test/integration/targets/module_tracebacks/runme.sh b/test/integration/targets/module_tracebacks/runme.sh
new file mode 100755
index 0000000..b8ac806
--- /dev/null
+++ b/test/integration/targets/module_tracebacks/runme.sh
@@ -0,0 +1,5 @@
+#!/usr/bin/env bash
+
+set -eux
+
+ansible-playbook traceback.yml -i inventory "$@"
diff --git a/test/integration/targets/module_tracebacks/traceback.yml b/test/integration/targets/module_tracebacks/traceback.yml
new file mode 100644
index 0000000..b1f0b51
--- /dev/null
+++ b/test/integration/targets/module_tracebacks/traceback.yml
@@ -0,0 +1,21 @@
+- hosts: all
+ gather_facts: no
+ tasks:
+ - name: intentionally fail module execution
+ ping:
+ data: crash
+ ignore_errors: yes
+ register: ping
+
+- hosts: localhost
+ gather_facts: no
+ tasks:
+ - name: verify exceptions were properly captured
+ assert:
+ that:
+ - hostvars.testhost_local.ping is failed
+ - "'boom' in hostvars.testhost_local.ping.exception"
+ - "'boom' in hostvars.testhost_local.ping.module_stderr"
+ - hostvars.testhost_ssh.ping is failed
+ - "'boom' in hostvars.testhost_ssh.ping.exception"
+ - "'boom' in hostvars.testhost_ssh.ping.module_stdout"