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.
99 lines
3.1 KiB
YAML
99 lines
3.1 KiB
YAML
- name: Define supported debuggers
|
|
set_fact:
|
|
debuggers:
|
|
- pydevd
|
|
- debugpy
|
|
|
|
- name: Run without debugging features enabled
|
|
command: ansible-test shell -v -- env
|
|
register: result
|
|
|
|
- assert:
|
|
that:
|
|
- result.stderr_lines is not contains 'Debugging'
|
|
|
|
- name: Run a command which does not support debugging
|
|
command: ansible-test env -v
|
|
register: result
|
|
|
|
- assert:
|
|
that:
|
|
- result.stderr_lines is not contains 'Debugging'
|
|
|
|
- name: Verify on-demand debugging gracefully handles not running under a debugger
|
|
command: ansible-test shell -v --dev-debug-on-demand -- env
|
|
register: result
|
|
|
|
- assert:
|
|
that:
|
|
- result.stderr_lines is contains 'Debugging disabled because no debugger was detected.'
|
|
|
|
- name: Verify manual debugging gracefully handles lack of configuration
|
|
command: ansible-test shell -v --dev-debug-cli -- env
|
|
register: result
|
|
|
|
- assert:
|
|
that:
|
|
- result.stderr_lines is contains 'Debugging disabled because no debugger configuration was provided.'
|
|
|
|
- name: Verify invalid debugger configuration is handled
|
|
command: ansible-test shell --dev-debug-cli -- env
|
|
environment: >
|
|
{% set key = "ANSIBLE_TEST_REMOTE_DEBUGGER_" + item.upper() %}{{ ('{"' + key + '": "{\"invalid_key\": true}"}') | from_json }}
|
|
register: result
|
|
loop: "{{ debuggers }}"
|
|
ignore_errors: yes
|
|
|
|
- assert:
|
|
that:
|
|
- item.stderr is search("Invalid " + item.item + " settings.*invalid_key")
|
|
loop: "{{ result.results }}"
|
|
|
|
- name: Verify CLI debugger can be manually enabled (shell)
|
|
command: ansible-test shell --dev-debug-cli -- env
|
|
environment: >
|
|
{% set key = "ANSIBLE_TEST_REMOTE_DEBUGGER_" + item.upper() %}{{ ('{"' + key + '": ""}') | from_json }}
|
|
register: result
|
|
loop: "{{ debuggers }}"
|
|
|
|
- assert:
|
|
that:
|
|
- item.stdout is contains "ANSIBLE_TEST_DEBUGGER_CONFIG"
|
|
loop: "{{ result.results }}"
|
|
|
|
- name: Verify CLI debugger can be manually enabled (integration)
|
|
command: ansible-test integration ansible-test-debugging-env --dev-debug-cli
|
|
environment: >
|
|
{% set key = "ANSIBLE_TEST_REMOTE_DEBUGGER_" + item.upper() %}{{ ('{"' + key + '": ""}') | from_json }}
|
|
register: result
|
|
loop: "{{ debuggers }}"
|
|
|
|
- assert:
|
|
that:
|
|
- item.stdout is contains "ANSIBLE_TEST_DEBUGGER_CONFIG"
|
|
loop: "{{ result.results }}"
|
|
|
|
- name: Verify AnsiballZ debugger can be manually enabled (shell)
|
|
command: ansible-test shell --dev-debug-ansiballz -- env
|
|
environment: >
|
|
{% set key = "ANSIBLE_TEST_REMOTE_DEBUGGER_" + item.upper() %}{{ ('{"' + key + '": ""}') | from_json }}
|
|
register: result
|
|
loop: "{{ debuggers }}"
|
|
|
|
- assert:
|
|
that:
|
|
- item.stdout is contains("_ANSIBLE_ANSIBALLZ_" + item.item.upper() + "_CONFIG")
|
|
loop: "{{ result.results }}"
|
|
|
|
- name: Verify AnsiballZ debugger can be manually enabled (integration)
|
|
command: ansible-test integration ansible-test-debugging-inventory --dev-debug-ansiballz
|
|
environment: >
|
|
{% set key = "ANSIBLE_TEST_REMOTE_DEBUGGER_" + item.upper() %}{{ ('{"' + key + '": ""}') | from_json }}
|
|
register: result
|
|
loop: "{{ debuggers }}"
|
|
|
|
- assert:
|
|
that:
|
|
- item.stdout is contains("_ansible_ansiballz_" + item.item + "_config")
|
|
loop: "{{ result.results }}"
|