mirror of
https://github.com/ansible-collections/community.general.git
synced 2026-05-07 22:02:50 +00:00
Continue running network tests after failure (#26407)
Previously tests would stop running on the first failure. With this PR we move onto running the tests for the next module. This allows DCI runs to have a fuller picture of what's broken. This only effects manual and DCI runs, it doesn't effect Shippable runs as this the modules are tested directly.
This commit is contained in:
@@ -7,15 +7,93 @@
|
||||
limit_to: "*"
|
||||
debug: false
|
||||
|
||||
roles:
|
||||
- { role: junos_command, when: "limit_to in ['*', 'junos_command']" }
|
||||
- { role: junos_config, when: "limit_to in ['*', 'junos_config']" }
|
||||
- { role: junos_facts, when: "limit_to in ['*', 'junos_facts']" }
|
||||
- { role: junos_netconf, when: "limit_to in ['*', 'junos_netconf']" }
|
||||
- { role: junos_rpc, when: "limit_to in ['*', 'junos_rpc']" }
|
||||
- { role: junos_template, when: "limit_to in ['*', 'junos_template']" }
|
||||
- { role: junos_vlan, when: "limit_to in ['*', 'junos_vlan']" }
|
||||
- { role: junos_interface, when: "limit_to in ['*', 'junos_interface']" }
|
||||
- { role: junos_banner, when: "limit_to in ['*', 'junos_banner']" }
|
||||
- { role: junos_system, when: "limit_to in ['*', 'junos_system']" }
|
||||
- { role: junos_logging, when: "limit_to in ['*', 'junos_logging']" }
|
||||
|
||||
# Run the tests within blocks allows the the next module to be tested if the previous one fails.
|
||||
# This is done to allow https://github.com/ansible/dci-partner-ansible/ to run the full set of tests.
|
||||
|
||||
|
||||
tasks:
|
||||
- set_fact:
|
||||
test_failed: false
|
||||
- block:
|
||||
- include_role:
|
||||
name: junos_command
|
||||
when: "limit_to in ['*', 'junos_command']"
|
||||
rescue:
|
||||
- set_fact: test_failed=true
|
||||
|
||||
- block:
|
||||
- include_role:
|
||||
name: junos_config
|
||||
when: "limit_to in ['*', 'junos_config']"
|
||||
rescue:
|
||||
- set_fact: test_failed=true
|
||||
|
||||
- block:
|
||||
- include_role:
|
||||
name: junos_facts
|
||||
when: "limit_to in ['*', 'junos_facts']"
|
||||
rescue:
|
||||
- set_fact: test_failed=true
|
||||
|
||||
- block:
|
||||
- include_role:
|
||||
name: junos_netconf
|
||||
when: "limit_to in ['*', 'junos_netconf']"
|
||||
rescue:
|
||||
- set_fact: test_failed=true
|
||||
|
||||
- block:
|
||||
- include_role:
|
||||
name: junos_rpc
|
||||
when: "limit_to in ['*', 'junos_rpc']"
|
||||
rescue:
|
||||
- set_fact: test_failed=true
|
||||
|
||||
- block:
|
||||
- include_role:
|
||||
name: junos_template
|
||||
when: "limit_to in ['*', 'junos_template']"
|
||||
rescue:
|
||||
- set_fact: test_failed=true
|
||||
|
||||
- block:
|
||||
- include_role:
|
||||
name: junos_vlan
|
||||
when: "limit_to in ['*', 'junos_vlan']"
|
||||
rescue:
|
||||
- set_fact: test_failed=true
|
||||
|
||||
- block:
|
||||
- include_role:
|
||||
name: junos_interface
|
||||
when: "limit_to in ['*', 'junos_interface']"
|
||||
rescue:
|
||||
- set_fact: test_failed=true
|
||||
|
||||
- block:
|
||||
- include_role:
|
||||
name: junos_banner
|
||||
when: "limit_to in ['*', 'junos_banner']"
|
||||
rescue:
|
||||
- set_fact: test_failed=true
|
||||
|
||||
- block:
|
||||
- include_role:
|
||||
name: junos_system
|
||||
when: "limit_to in ['*', 'junos_system']"
|
||||
rescue:
|
||||
- set_fact: test_failed=true
|
||||
|
||||
- block:
|
||||
- include_role:
|
||||
name: junos_logging
|
||||
when: "limit_to in ['*', 'junos_logging']"
|
||||
rescue:
|
||||
- set_fact: test_failed=true
|
||||
|
||||
###########
|
||||
- name: Has any previous test failed?
|
||||
fail:
|
||||
msg: "One or more tests failed, check log for details"
|
||||
when: test_failed
|
||||
Reference in New Issue
Block a user