[stable-2.19] dnf/dnf5: address issues discovered in 2.16 yum tests (#83659) (#85607)

Fixes #85554
(cherry picked from commit c0256d6)
This commit is contained in:
Martin Krizek
2025-08-04 10:12:20 -05:00
committed by GitHub
parent a5cc030818
commit 28ca9c09fb
3 changed files with 165 additions and 79 deletions
@@ -630,6 +630,87 @@
- provides-package
- provided-package
# https://github.com/ansible/ansible/issues/45250
- block:
- name: Install dinginessentail-1.0, dinginessentail-olive-1.0, landsidescalping-1.0
dnf:
name: "dinginessentail-1.0,dinginessentail-olive-1.0,landsidescalping-1.0"
state: present
- name: Upgrade dinginessentail*
dnf:
name: dinginessentail*
state: latest
register: dnf_result
- name: Check dinginessentail with rpm
shell: rpm -q dinginessentail
register: rpm_result
- name: Verify update of dinginessentail
assert:
that:
- "rpm_result.stdout.startswith('dinginessentail-1.1-1')"
- name: Check dinginessentail-olive with rpm
shell: rpm -q dinginessentail-olive
register: rpm_result
- name: Verify update of dinginessentail-olive
assert:
that:
- "rpm_result.stdout.startswith('dinginessentail-olive-1.1-1')"
- name: Check landsidescalping with rpm
shell: rpm -q landsidescalping
register: rpm_result
- name: Verify landsidescalping did NOT get updated
assert:
that:
- "rpm_result.stdout.startswith('landsidescalping-1.0-1')"
- name: Verify yum module outputs
assert:
that:
- "dnf_result is changed"
- "'msg' in dnf_result"
- "'rc' in dnf_result"
- "'results' in dnf_result"
always:
- name: Clean up
dnf:
name: dinginessentail,dinginessentail-olive,landsidescalping
state: absent
- name: test allow_downgrade
block:
- dnf:
name: dinginessentail-1.1
state: present
- dnf:
name: dinginessentail-1.0
state: present
allow_downgrade: true
- dnf:
name: dinginessentail-1.1
state: present
- dnf:
name: dinginessentail-1.0
state: present
allow_downgrade: false
register: r
- assert:
that:
- r is not changed
always:
- dnf:
name: dinginessentail
state: absent
- name: Test failures occured during loading repositories are properly handled
vars:
repo_name: test-non-existing-gpgkey-file
@@ -657,3 +738,15 @@
- file:
name: /etc/yum.repos.d/{{ repo_name }}.repo
state: absent
- name: Attempt to install a package with invalid name
dnf:
name: invalid[package_name]
register: r
ignore_errors: true
- assert:
that:
- r is failed
- r.msg is contains("Failed to install some of the specified packages")