Skip to content

Commit

Permalink
snap: fix case when snap list is empty (#7124)
Browse files Browse the repository at this point in the history
* fix case when snap list is empty

* add changelog frag
  • Loading branch information
russoz authored Aug 18, 2023
1 parent aff2ebc commit 33998a5
Show file tree
Hide file tree
Showing 4 changed files with 25 additions and 5 deletions.
2 changes: 2 additions & 0 deletions changelogs/fragments/7124-snap-empty-list.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
bugfixes:
- snap - an exception was being raised when snap list was empty (https://github.com/ansible-collections/community.general/pull/7124, https://github.com/ansible-collections/community.general/issues/7120).
12 changes: 7 additions & 5 deletions plugins/modules/snap.py
Original file line number Diff line number Diff line change
Expand Up @@ -326,11 +326,13 @@ def process(rc, out, err):
if x.startswith("warning: no snap found")]))
return process_(rc, out, err)

with self.runner("info name", output_process=process) as ctx:
try:
names = ctx.run(name=snaps)
finally:
self.vars.snapinfo_run_info.append(ctx.run_info)
names = []
if snaps:
with self.runner("info name", output_process=process) as ctx:
try:
names = ctx.run(name=snaps)
finally:
self.vars.snapinfo_run_info.append(ctx.run_info)
return names

def snap_status(self, snap_name, channel):
Expand Down
2 changes: 2 additions & 0 deletions tests/integration/targets/snap/tasks/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,3 +19,5 @@
ansible.builtin.include_tasks: test_dangerous.yml
- name: Include test_3dash
ansible.builtin.include_tasks: test_3dash.yml
- name: Include test_empty_list
ansible.builtin.include_tasks: test_empty_list.yml
14 changes: 14 additions & 0 deletions tests/integration/targets/snap/tasks/test_empty_list.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
---
# Copyright (c) Ansible Project
# 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

- name: Empty list present
community.general.snap:
name: []
state: present

- name: Empty list absent
community.general.snap:
name: []
state: absent

0 comments on commit 33998a5

Please sign in to comment.