diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/integration/targets/pip/tasks/pip.yml | 35 | ||||
-rw-r--r-- | test/integration/targets/pip/vars/main.yml | 2 |
2 files changed, 36 insertions, 1 deletions
diff --git a/test/integration/targets/pip/tasks/pip.yml b/test/integration/targets/pip/tasks/pip.yml index 791e03dc6b..f459948e66 100644 --- a/test/integration/targets/pip/tasks/pip.yml +++ b/test/integration/targets/pip/tasks/pip.yml @@ -530,3 +530,38 @@ assert: that: "'distribute' in remove_distribute.cmd" when: ansible_python.version.major == 2 + +# https://github.com/ansible/ansible/issues/68592 +# Handle pre-release version numbers in check_mode for already-installed +# packages. +# TODO: Limiting to py3 test boxes for now so the example of 'black' installs, +# we should probably find another package to use with a similar versioning +# scheme or make a small one and enable this test for py2 as well. +- block: + - name: Install a beta version of a package + pip: + name: black + version: 19.10b0 + state: present + + - name: Use check_mode and ensure that the package is shown as installed + check_mode: true + pip: + name: black + state: present + register: pip_prereleases + + - name: Uninstall the beta package if we need to + pip: + name: black + version: 19.10b0 + state: absent + when: pip_prereleases is changed + + - assert: + that: + - pip_prereleases is successful + - pip_prereleases is not changed + - '"black==19.10b0" in pip_prereleases.stdout_lines' + + when: ansible_python.version.major == 3 diff --git a/test/integration/targets/pip/vars/main.yml b/test/integration/targets/pip/vars/main.yml index d51e741c6a..a4bbf81e5c 100644 --- a/test/integration/targets/pip/vars/main.yml +++ b/test/integration/targets/pip/vars/main.yml @@ -3,7 +3,7 @@ pip_test_packages: - sampleproject - decorator pip_test_pkg_ver: - - sampleproject<=100, !=9.0.0,>=0.0.1 + - sampleproject<=100, !=9.0.0,>=0.0.1 - decorator<100 ,!=9,>=0.0.1 pip_test_pkg_ver_unsatisfied: - sampleproject>= 999.0.0 |