You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
mitogen/tests/ansible/regression/issue_152__virtualenv_pytho...

45 lines
1.8 KiB
YAML

- name: regression/issue_152__virtualenv_python_fails.yml
any_errors_fatal: true
gather_facts: true
hosts: test-targets
tasks:
- custom_python_detect_environment:
register: lout
# Can't use pip module because it can't create virtualenvs, must call it
# directly.
- shell: virtualenv /tmp/issue_152_virtualenv
when: lout.python_version > '2.6'
environment:
https_proxy: "{{ lookup('env', 'https_proxy')|default('') }}"
no_proxy: "{{ lookup('env', 'no_proxy')|default('') }}"
PATH: "{{ lookup('env', 'PATH') }}"
- custom_python_detect_environment:
vars:
ansible_python_interpreter: /tmp/issue_152_virtualenv/bin/python
register: out
when: lout.python_version > '2.6'
# virtualenv on Mac points to /usr/local/Cellar/python/3.7.2_1/bin/python3.7 as the sys.executable
# or for python2 the python path is /usr/local/opt/python@2/bin/python2.7 on azure
# which matches up with the .Python set up in /tmp/issue_152_virtualenv:
# .Python -> /usr/local/Cellar/python/3.7.2_1/Frameworks/Python.framework/Versions/3.7/Python
# on Mac, lout's sys.executable is the normal /usr/bin/python
# TODO: better fix than this? This seems to be the right test because the python exc is pointing to
# something that lives inside of the venv but I'm not sure
- assert:
that:
- out.sys_executable == "/tmp/issue_152_virtualenv/bin/python"
when: lout.python_version > '2.6' and ansible_os_family != 'Darwin'
- assert:
that:
- "'/usr/local/Cellar/python' in out.sys_executable or '/usr/local/opt/python@2' in out.sys_executable"
when: lout.python_version > '2.6' and ansible_os_family == 'Darwin'
- file:
path: /tmp/issue_152_virtualenv
state: absent
when: lout.python_version > '2.6'