diff --git a/test/integration/targets/ansible-galaxy/cleanup-default.yml b/test/integration/targets/ansible-galaxy/cleanup-default.yml new file mode 100644 index 00000000000..f2265c093db --- /dev/null +++ b/test/integration/targets/ansible-galaxy/cleanup-default.yml @@ -0,0 +1,5 @@ +- name: remove unwanted packages + package: + name: git + state: absent + when: git_install.changed diff --git a/test/integration/targets/ansible-galaxy/cleanup-freebsd.yml b/test/integration/targets/ansible-galaxy/cleanup-freebsd.yml new file mode 100644 index 00000000000..fa224d830de --- /dev/null +++ b/test/integration/targets/ansible-galaxy/cleanup-freebsd.yml @@ -0,0 +1,6 @@ +- name: remove auto-installed packages from FreeBSD + pkgng: + name: git + state: absent + autoremove: yes + when: git_install.changed diff --git a/test/integration/targets/ansible-galaxy/cleanup.yml b/test/integration/targets/ansible-galaxy/cleanup.yml index 5c0dc5117b1..eb660b96920 100644 --- a/test/integration/targets/ansible-galaxy/cleanup.yml +++ b/test/integration/targets/ansible-galaxy/cleanup.yml @@ -2,15 +2,10 @@ vars: git_install: '{{ lookup("file", lookup("env", "OUTPUT_DIR") + "/git_install.json") | from_json }}' tasks: - - name: remove unwanted packages - package: - name: git - state: absent - when: git_install.changed - - - name: remove auto-installed packages from FreeBSD - pkgng: - name: git - state: absent - autoremove: yes - when: git_install.changed and ansible_distribution == "FreeBSD" + - name: cleanup + include_tasks: "{{ cleanup_filename }}" + with_first_found: + - "cleanup-{{ ansible_distribution | lower }}.yml" + - "cleanup-default.yml" + loop_control: + loop_var: cleanup_filename diff --git a/test/integration/targets/git/handlers/cleanup-default.yml b/test/integration/targets/git/handlers/cleanup-default.yml new file mode 100644 index 00000000000..02a79882bc5 --- /dev/null +++ b/test/integration/targets/git/handlers/cleanup-default.yml @@ -0,0 +1,6 @@ +# TODO remove everything we'd installed (see git_required_packages), not just git +# problem is that we should not remove what we hadn't installed +- name: remove git + package: + name: git + state: absent diff --git a/test/integration/targets/git/handlers/cleanup-freebsd.yml b/test/integration/targets/git/handlers/cleanup-freebsd.yml new file mode 100644 index 00000000000..1ee350131b5 --- /dev/null +++ b/test/integration/targets/git/handlers/cleanup-freebsd.yml @@ -0,0 +1,5 @@ +- name: remove git fromn FreeBSD + pkgng: + name: git + state: absent + autoremove: yes diff --git a/test/integration/targets/git/handlers/main.yml b/test/integration/targets/git/handlers/main.yml index 592ea394d0b..875f513a974 100644 --- a/test/integration/targets/git/handlers/main.yml +++ b/test/integration/targets/git/handlers/main.yml @@ -1,13 +1,7 @@ -# TODO remove everything we'd installed (see git_required_packages), not just git -# problem is that we should not remove what we hadn't installed -- name: remove git - package: - name: git - state: absent - -- name: remove git from FreeBSD - pkgng: - name: git - state: absent - autoremove: yes - when: ansible_distribution == "FreeBSD" +- name: cleanup + include_tasks: "{{ cleanup_filename }}" + with_first_found: + - "cleanup-{{ ansible_distribution | lower }}.yml" + - "cleanup-default.yml" + loop_control: + loop_var: cleanup_filename diff --git a/test/integration/targets/git/tasks/setup.yml b/test/integration/targets/git/tasks/setup.yml index 109798e3844..16c56904aba 100644 --- a/test/integration/targets/git/tasks/setup.yml +++ b/test/integration/targets/git/tasks/setup.yml @@ -13,8 +13,7 @@ name: '{{ item }}' when: ansible_distribution != "MacOSX" notify: - - remove git - - remove git from FreeBSD + - cleanup with_items: "{{ git_required_packages[ansible_os_family | default('default') ] | default(git_required_packages.default) }}" - name: SETUP | verify that git is installed so this test can continue