From 6ffe277fbf7cd14c6b075159e50bfd22d9bdd034 Mon Sep 17 00:00:00 2001 From: Abhijeet Kasurde Date: Tue, 5 May 2026 12:36:41 -0700 Subject: [PATCH] dnf: add test for broken config file (#86901) Fixes: #85681 Signed-off-by: Abhijeet Kasurde --- .../targets/dnf/tasks/dnf_config.yml | 30 +++++++++++++++++++ test/integration/targets/dnf/tasks/main.yml | 1 + 2 files changed, 31 insertions(+) create mode 100644 test/integration/targets/dnf/tasks/dnf_config.yml diff --git a/test/integration/targets/dnf/tasks/dnf_config.yml b/test/integration/targets/dnf/tasks/dnf_config.yml new file mode 100644 index 00000000000..c9682d7bf30 --- /dev/null +++ b/test/integration/targets/dnf/tasks/dnf_config.yml @@ -0,0 +1,30 @@ +--- +- name: Create a broken dnf config file + copy: + content: '[broken_section\nname=value' + dest: '{{ remote_tmp_dir }}/broken.conf' + register: broken_conf + +- name: Use broken conf file + dnf: + name: bash + state: present + conf_file: '{{ broken_conf.dest }}' + register: dnf_bash_result + ignore_errors: true + +- name: Verify that broken conf raises an error + assert: + that: + - "dnf_bash_result is failed" + - "'Error in configuration file' in dnf_bash_result.msg" + when: ansible_facts['distribution'] == 'Fedora' + +- name: Verify that broken conf raises an error on RHEL + assert: + that: + - "dnf_bash_result is failed" + - "'Parsing file' in dnf_bash_result.msg" + when: + - ansible_facts['distribution'] == 'RedHat' + - ansible_facts['distribution_major_version'] in (9, 10) diff --git a/test/integration/targets/dnf/tasks/main.yml b/test/integration/targets/dnf/tasks/main.yml index e965706bff1..53820e2b0c4 100644 --- a/test/integration/targets/dnf/tasks/main.yml +++ b/test/integration/targets/dnf/tasks/main.yml @@ -43,6 +43,7 @@ - include_tasks: logging.yml - include_tasks: cacheonly.yml - include_tasks: multilib.yml + - include_tasks: dnf_config.yml # Attempting to install a different RHEL release in a tmpdir doesn't work (rhel8 beta) - include_tasks: dnfreleasever.yml