summaryrefslogtreecommitdiff
path: root/test/integration/iosxr.yaml
blob: 8e3a0aa3f0d71cec9b4101caeac57a1100fd6051 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
---
- hosts: iosxr
  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: iosxr_command
        when: "limit_to in ['*', 'iosxr_command']"
      rescue:
        - set_fact:
            failed_modules: "{{ failed_modules }} + [ 'iosxr_command' ]"
            test_failed: true

    - block:
      - include_role:
          name: iosxr_config
        when: "limit_to in ['*', 'iosxr_config']"
      rescue:
        - set_fact:
            failed_modules: "{{ failed_modules }} + [ 'iosxr_config' ]"
            test_failed: true

    - block:
      - include_role:
          name: iosxr_facts
        when: "limit_to in ['*', 'iosxr_facts']"
      rescue:
        - set_fact:
            failed_modules: "{{ failed_modules }} + [ 'iosxr_facts' ]"
            test_failed: true

    - block:
      - include_role:
          name: iosxr_system
        when: "limit_to in ['*', 'iosxr_system']"
      rescue:
        - set_fact:
            test_failed: true
            failed_modules: "{{ failed_modules }} + [ 'iosxr_system' ]"

    - block:
      - include_role:
          name: iosxr_user
        when: "limit_to in ['*', 'iosxr_user']"
      rescue:
        - set_fact:
            failed_modules: "{{ failed_modules }} + [ 'iosxr_user' ]"
            test_failed: true

    - block:
      - include_role:
          name: iosxr_banner
        when: "limit_to in ['*', 'iosxr_banner']"
      rescue:
        - set_fact:
            failed_modules: "{{ failed_modules }} + [ 'iosxr_banner' ]"
            test_failed: true

    - block:
      - include_role:
          name: iosxr_logging
        when: "limit_to in ['*', 'iosxr_logging']"
      rescue:
        - set_fact:
            failed_modules: "{{ failed_modules }} + [ 'iosxr_logging' ]"
            test_failed: true

    - block:
      - include_role:
          name: iosxr_interface
        when: "limit_to in ['*', 'iosxr_interface']"
      rescue:
        - set_fact:
            failed_modules: "{{ failed_modules }} + [ 'iosxr_interface' ]"
            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