From d5465ff4710e007d30f3a23f92930db11e134c97 Mon Sep 17 00:00:00 2001 From: "patchback[bot]" <45432694+patchback[bot]@users.noreply.github.com> Date: Mon, 16 Jun 2025 18:16:49 +0200 Subject: [PATCH] [PR #10189/24056110 backport][stable-10] pipx: Add example for installing package with dependency group (#10258) pipx: Add example for installing package with dependency group (#10189) * Add example for installing package with dependency group * add tests (cherry picked from commit 24056110921cfef3f9c14b056a19022d3f7b4131) Co-authored-by: Robin --- plugins/modules/pipx.py | 6 ++++ tests/integration/targets/pipx/tasks/main.yml | 36 +++++++++++++++---- 2 files changed, 36 insertions(+), 6 deletions(-) diff --git a/plugins/modules/pipx.py b/plugins/modules/pipx.py index 240c574320..ccb2dee273 100644 --- a/plugins/modules/pipx.py +++ b/plugins/modules/pipx.py @@ -175,6 +175,12 @@ EXAMPLES = r""" name: tox state: upgrade +- name: Install or upgrade tox with dependency group 'docs' + community.general.pipx: + name: tox + source: tox[docs] + state: latest + - name: Reinstall black with specific Python version community.general.pipx: name: black diff --git a/tests/integration/targets/pipx/tasks/main.yml b/tests/integration/targets/pipx/tasks/main.yml index 174ec9793a..829253b7c4 100644 --- a/tests/integration/targets/pipx/tasks/main.yml +++ b/tests/integration/targets/pipx/tasks/main.yml @@ -179,7 +179,7 @@ community.general.pipx: state: absent name: tox - register: uninstall_tox_latest + register: uninstall_tox_1 - name: install application tox 3.24.0 for latest community.general.pipx: @@ -223,7 +223,27 @@ community.general.pipx: state: absent name: tox - register: uninstall_tox_latest_yet_again + register: uninstall_tox_2 + +- name: install tox with dependency group 'docs' + community.general.pipx: + name: tox + source: tox[docs] + state: latest + register: install_tox_latest_docs + +- name: install tox with dependency group 'docs' again + community.general.pipx: + name: tox + source: tox[docs] + state: latest + register: install_tox_latest_docs_again + +- name: cleanup tox latest yet again + community.general.pipx: + state: absent + name: tox + register: uninstall_tox_3 - name: check assertions tox latest assert: @@ -231,8 +251,8 @@ - install_tox_latest is changed - "'tox' in install_tox_latest.application" - install_tox_latest.application.tox.version != '3.24.0' - - uninstall_tox_latest is changed - - "'tox' not in uninstall_tox_latest.application" + - uninstall_tox_1 is changed + - "'tox' not in uninstall_tox_1.application" - install_tox_324_for_latest is changed - "'tox' in install_tox_324_for_latest.application" - install_tox_324_for_latest.application.tox.version == '3.24.0' @@ -241,8 +261,12 @@ - install_tox_latest_with_preinstall.application.tox.version != '3.24.0' - install_tox_latest_with_preinstall_again is not changed - install_tox_latest_with_preinstall_again_force is changed - - uninstall_tox_latest_again is changed - - "'tox' not in uninstall_tox_latest_again.application" + - uninstall_tox_2 is changed + - "'tox' not in uninstall_tox_2.application" + - install_tox_latest_docs is changed + - install_tox_latest_docs_again is not changed + - uninstall_tox_3 is changed + - "'tox' not in uninstall_tox_3.application" ############################################################################## # Test version specifiers in name parameter