90 lines
2.6 KiB
YAML
90 lines
2.6 KiB
YAML
# SPDX-License-Identifier: BSD-3-Clause
|
|
---
|
|
- hosts: all
|
|
name: Setup for test running
|
|
tasks:
|
|
- name: Install EPEL on enterprise Linux for python2-mock
|
|
command: yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-{{ ansible_distribution_major_version }}.noarch.rpm
|
|
args:
|
|
warn: false
|
|
creates: /etc/yum.repos.d/epel.repo
|
|
when:
|
|
- ansible_distribution in ['RedHat', 'CentOS']
|
|
- ansible_distribution_major_version in ['6', '7']
|
|
|
|
- name: Install dependencies
|
|
package:
|
|
name: "{{ item }}"
|
|
state: present
|
|
# Ignore error because some package names might not be available
|
|
ignore_errors: true
|
|
loop:
|
|
- NetworkManager-libnm
|
|
- python2-gobject-base
|
|
- python3-gobject-base
|
|
- python-gobject-base
|
|
- python2-mock
|
|
|
|
- hosts: all
|
|
name: execute python unit tests
|
|
tasks:
|
|
- name: Copy python modules
|
|
copy:
|
|
src: "{{ item }}"
|
|
dest: /tmp/test-unit-1/
|
|
local_follow: false
|
|
loop:
|
|
- ../library/network_connections.py
|
|
- unit/test_network_connections.py
|
|
- ../module_utils/network_lsr
|
|
|
|
- name: Create helpers directory
|
|
file:
|
|
state: directory
|
|
dest: /tmp/test-unit-1/helpers
|
|
|
|
- name: Copy helpers
|
|
copy:
|
|
src: "{{ item }}"
|
|
dest: /tmp/test-unit-1/helpers
|
|
mode: 0755
|
|
with_fileglob:
|
|
- unit/helpers/*
|
|
|
|
- name: Check if python2 is available
|
|
command: python2 --version
|
|
ignore_errors: true
|
|
register: python2_available
|
|
when: true
|
|
|
|
- name: Run python2 unit tests
|
|
command: python2 /tmp/test-unit-1/test_network_connections.py --verbose
|
|
when: python2_available is succeeded
|
|
register: python2_result
|
|
|
|
- name: Check if python3 is available
|
|
command: python3 --version
|
|
ignore_errors: true
|
|
register: python3_available
|
|
when: true
|
|
|
|
- name: Run python3 unit tests
|
|
command: python3 /tmp/test-unit-1/test_network_connections.py --verbose
|
|
when: python3_available is succeeded
|
|
register: python3_result
|
|
|
|
- name: Show python2 unit test results
|
|
debug:
|
|
var: python2_result.stderr_lines
|
|
when: python2_result is succeeded
|
|
|
|
- name: Show python3 unit test results
|
|
debug:
|
|
var: python3_result.stderr_lines
|
|
when: python3_result is succeeded
|
|
|
|
- name: Ensure that at least one python unit test ran
|
|
fail:
|
|
msg: Tests did not run with python2 or python3
|
|
when: not (python2_available is succeeded or python3_available is succeeded)
|