ansible/test/integration/ios.yaml
David Newswanger 039706a239 When running all network tests at once, list the ones that failed at the end. (#27075)
* list failed tests for iosxr

* list failed tests for ovs

* list failed tests for junos

* list failed tests for ios

* list failed tests for eos

* list failed tests for nxos

* list failed tests for vyos
2017-07-20 12:17:07 +10:00

105 lines
2.8 KiB
YAML

---
- hosts: ios
gather_facts: no
connection: local
vars:
limit_to: "*"
debug: false
# 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
failed_modules: []
- block:
- include_role:
name: ios_banner
when: "limit_to in ['*', 'ios_banner']"
rescue:
- set_fact:
failed_modules: "{{ failed_modules }} + [ 'ios_banner' ]"
test_failed: true
- block:
- include_role:
name: ios_command
when: "limit_to in ['*', 'ios_command']"
rescue:
- set_fact:
failed_modules: "{{ failed_modules }} + [ 'ios_command' ]"
test_failed: true
- block:
- include_role:
name: ios_config
when: "limit_to in ['*', 'ios_config']"
rescue:
- set_fact:
failed_modules: "{{ failed_modules }} + [ 'ios_config' ]"
test_failed: true
- block:
- include_role:
name: ios_facts
when: "limit_to in ['*', 'ios_facts']"
rescue:
- set_fact:
failed_modules: "{{ failed_modules }} + [ 'ios_facts' ]"
test_failed: true
- block:
- include_role:
name: ios_template
when: "limit_to in ['*', 'ios_template']"
rescue:
- set_fact:
failed_modules: "{{ failed_modules }} + [ 'ios_template' ]"
test_failed: true
- block:
- include_role:
name: ios_system
when: "limit_to in ['*', 'ios_system']"
rescue:
- set_fact:
failed_modules: "{{ failed_modules }} + [ 'ios_system' ]"
test_failed: true
- block:
- include_role:
name: ios_user
when: "limit_to in ['*', 'ios_user']"
rescue:
- set_fact:
failed_modules: "{{ failed_modules }} + [ 'ios_user' ]"
test_failed: true
- block:
- include_role:
name: ios_static_route
when: "limit_to in ['*', 'ios_static_route']"
rescue:
- set_fact:
failed_modules: "{{ failed_modules }} + [ 'ios_static_route' ]"
test_failed: true
- block:
- include_role:
name: ios_logging
when: "limit_to in ['*', 'ios_logging']"
rescue:
- set_fact:
failed_modules: "{{ failed_modules }} + [ 'ios_logging' ]"
test_failed: true
###########
- debug: var=failed_modules
when: test_failed
- name: Has any previous test failed?
fail:
msg: "One or more tests failed, check log for details"
when: test_failed