1
0
Fork 0
mirror of https://github.com/ansible-collections/community.general.git synced 2024-09-14 20:13:21 +02:00
community.general/tests/integration/targets/alternatives/tasks/main.yml

94 lines
3 KiB
YAML
Raw Normal View History

####################################################################
# WARNING: These are designed specifically for Ansible tests #
# and should not be used as examples of how to write Ansible roles #
####################################################################
2020-03-09 10:11:07 +01:00
# Copyright (c) 2017 Pierre-Louis Bonicoli <pierre-louis.bonicoli@libregerbil.fr>
# GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt)
# SPDX-License-Identifier: GPL-3.0-or-later
2020-03-09 10:11:07 +01:00
- name: 'setup: create a dummy alternative'
block:
- import_tasks: setup.yml
##############
# Test parameters:
# link parameter present / absent ('with_link' variable)
2020-03-09 10:11:07 +01:00
# with / without alternatives defined in alternatives file ('with_alternatives' variable)
# auto / manual ('mode' variable)
- include_tasks: tests.yml
with_nested:
- [ true, false ] # with_link
- [ true, false ] # with_alternatives
2020-03-09 10:11:07 +01:00
- [ 'auto', 'manual' ] # mode
loop_control:
loop_var: test_conf
##########
# Priority
- block:
- include_tasks: remove_links.yml
- include_tasks: setup_test.yml
# at least two iterations again
- include_tasks: tests_set_priority.yml
with_sequence: start=3 end=4
vars:
with_alternatives: true
2020-03-09 10:11:07 +01:00
mode: auto
- block:
- include_tasks: remove_links.yml
- include_tasks: setup_test.yml
# at least two iterations again
- include_tasks: tests_set_priority.yml
with_sequence: start=3 end=4
vars:
with_alternatives: false
2020-03-09 10:11:07 +01:00
mode: auto
# Test that path is checked: alternatives must fail when path is nonexistent
- import_tasks: path_is_checked.yml
Add subcommands parameter for module alternatives. (#4654) * Add slaves parameter for module alternatives. * alternatives: Improve documentation abous slaves parameter * alternatives: Apply suggestions from code review Co-authored-by: Felix Fontein <felix@fontein.de> * alternatives: Add schangelog for slaves parameter * alernatives: Add integration tests * alternatives: Improv tests * alternatives: Update tests/integration/targets/alternatives/tasks/slaves.yml Co-authored-by: Felix Fontein <felix@fontein.de> * alternatives: Rework logic to support updating priority and subcommands * alternatives: Use more inclusive naming * alternatives: Fix linter warnings * alternatives: Dont fail if link is absent * alternatives: Update changelog fragment * alternatives: Add tests for prio change and removing * alternatives: Apply suggestions from code review Co-authored-by: Felix Fontein <felix@fontein.de> * alternatives: Add `state=auto`to reset mode to auto * alternatives: Fix linter warnings * alternatives: Fix documentation. * alternatives: Combine multiple messages. * alternatives: Set command env for all commands. * alternatives: Do not update subcommands if parameter is omited * alternatives: Fix a bug with python 2.7 var scoping * alternatives: Improce diff before generation * alternatives: Fix linter warnings * alternatives: Fix test names * alternatives: Simplify subcommands handling and improve diffs * aliases: Only test for subcommand changes if subcommands parameter is set. * Update plugins/modules/system/alternatives.py Co-authored-by: Felix Fontein <felix@fontein.de> * Apply suggestions from code review Co-authored-by: Felix Fontein <felix@fontein.de>
2022-06-06 10:33:39 +02:00
# Test that subcommands commands work
- import_tasks: subcommands.yml
# Test operation of the 'state' parameter
- block:
- include_tasks: remove_links.yml
- include_tasks: tests_state.yml
# Cleanup
2020-03-09 10:11:07 +01:00
always:
- include_tasks: remove_links.yml
- file:
path: '{{ item }}'
state: absent
with_items:
- '{{ alternatives_dir }}/dummy'
- '{{ alternatives_dir }}/dummymain'
- '{{ alternatives_dir }}/dummysubcmd'
2020-03-09 10:11:07 +01:00
- file:
path: '/usr/bin/dummy{{ item }}'
state: absent
with_sequence: start=1 end=4
2020-03-09 10:11:07 +01:00
# *Disable tests on Fedora 24*
# Shippable Fedora 24 image provides chkconfig-1.7-2.fc24.x86_64 but not the
# latest available version (chkconfig-1.8-1.fc24.x86_64). update-alternatives
# in chkconfig-1.7-2 fails when /etc/alternatives/dummy link is missing,
# error is: 'failed to read link /usr/bin/dummy: No such file or directory'.
# Moreover Fedora 24 is no longer maintained.
#
# *Disable tests on Arch Linux*
# TODO: figure out whether there is an alternatives tool for Arch Linux
#
# *Disable tests on Alpine*
# TODO: figure out whether there is an alternatives tool for Alpine
when:
- ansible_distribution != 'Fedora' or ansible_distribution_major_version|int > 24
- ansible_distribution != 'Archlinux'
- ansible_distribution != 'Alpine'