- name: regression/issue_152__virtualenv_python_fails.yml 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. - name: Create /tmp/issue_152_virtualenv environment: https_proxy: "{{ lookup('env', 'https_proxy')|default('') }}" no_proxy: "{{ lookup('env', 'no_proxy')|default('') }}" PATH: "{{ lookup('env', 'PATH') }}" command: cmd: virtualenv -p "{{ ansible_facts.python.executable }}" /tmp/issue_152_virtualenv creates: /tmp/issue_152_virtualenv when: - lout.python.version.full is version('2.7', '>=', strict=True) - custom_python_detect_environment: vars: ansible_python_interpreter: /tmp/issue_152_virtualenv/bin/python register: out when: - lout.python.version.full is version('2.7', '>=', strict=True) - name: Check virtualenv was used # On macOS runners a symlink /tmp -> /private/tmp has been seen vars: requested_executable: /tmp/issue_152_virtualenv/bin/python expected_executables: - "{{ requested_executable }}" - "{{ requested_executable.replace('/tmp', out.fs['/tmp'].resolved) }}" assert: that: - out.sys_executable in expected_executables fail_msg: | out={{ out }} when: - lout.python.version.full is version('2.7', '>=', strict=True) - name: Cleanup /tmp/issue_152_virtualenv file: path: /tmp/issue_152_virtualenv state: absent when: - lout.python.version.full is version('2.7', '>=', strict=True) tags: - issue_152