Fix homebrew tap name handling (#9546)
* Add failing test * Use fully qualified names * Add changelog fragment * Remove unnecessary initial cleanup * Fix tests/integration/targets/homebrew/tasks/formulae.yml Co-authored-by: Felix Fontein <felix@fontein.de> --------- Co-authored-by: Felix Fontein <felix@fontein.de>pull/8165/head
parent
94d5256adb
commit
114deae3e4
|
@ -0,0 +1,2 @@
|
||||||
|
bugfixes:
|
||||||
|
- homebrew - fix incorrect handling of homebrew modules when a tap is requested (https://github.com/ansible-collections/community.general/pull/9546, https://github.com/ansible-collections/community.general/issues/9533).
|
|
@ -385,7 +385,7 @@ class Homebrew(object):
|
||||||
self.outdated_packages.add(package_name)
|
self.outdated_packages.add(package_name)
|
||||||
|
|
||||||
def _extract_package_name(self, package_detail, is_cask):
|
def _extract_package_name(self, package_detail, is_cask):
|
||||||
canonical_name = package_detail["token"] if is_cask else package_detail["name"] # For ex: 'sqlite'
|
canonical_name = package_detail["full_token"] if is_cask else package_detail["full_name"] # For ex: 'sqlite'
|
||||||
all_valid_names = set(package_detail.get("aliases", [])) # For ex: {'sqlite3'}
|
all_valid_names = set(package_detail.get("aliases", [])) # For ex: {'sqlite3'}
|
||||||
all_valid_names.add(canonical_name)
|
all_valid_names.add(canonical_name)
|
||||||
|
|
||||||
|
|
|
@ -363,3 +363,27 @@
|
||||||
- "reinstall_result.msg == 'Package already installed: sqlite3'"
|
- "reinstall_result.msg == 'Package already installed: sqlite3'"
|
||||||
- "reinstall_result.changed_pkgs == []"
|
- "reinstall_result.changed_pkgs == []"
|
||||||
- "reinstall_result.unchanged_pkgs == ['sqlite3']"
|
- "reinstall_result.unchanged_pkgs == ['sqlite3']"
|
||||||
|
|
||||||
|
# Test with homebrew tap
|
||||||
|
- block:
|
||||||
|
- name: Tap terraform homebrew repository
|
||||||
|
community.general.homebrew_tap:
|
||||||
|
name: hashicorp/tap
|
||||||
|
become: true
|
||||||
|
become_user: "{{ brew_stat.stat.pw_name }}"
|
||||||
|
|
||||||
|
- name: Install homebrew tap
|
||||||
|
community.general.homebrew:
|
||||||
|
name: hashicorp/tap/terraform
|
||||||
|
state: latest
|
||||||
|
update_homebrew: false
|
||||||
|
register: terraform_install_result
|
||||||
|
become: true
|
||||||
|
become_user: "{{ brew_stat.stat.pw_name }}"
|
||||||
|
|
||||||
|
- assert:
|
||||||
|
that:
|
||||||
|
- terraform_install_result is changed
|
||||||
|
- "terraform_install_result.msg == 'Package upgraded: hashicorp/tap/terraform'"
|
||||||
|
- "terraform_install_result.changed_pkgs == ['hashicorp/tap/terraform']"
|
||||||
|
- "terraform_install_result.unchanged_pkgs == []"
|
||||||
|
|
Loading…
Reference in New Issue