zuul-jobs/test-playbooks/ensure-tox.yaml
Ian Wienand 9c04709719 Revert "Revert "ensure-tox: use venv to install""
This reverts commit bac2bf6c45.

The problem was really that ensure-pip was giving us a
"ensure_pip_virtualenv_command" that didn't work on some systems.
Iaa3ecd05b64af6dd9b2ee17a39bcbe6cde8686ba fixes this underlying issue,
so we can revert to the original change that uses that to install the
tox environment.

Change-Id: I8ce9dceb721474d3220f6e72409481dc89875ee0
2020-05-11 11:10:09 +10:00

54 lines
1.6 KiB
YAML

- hosts: all
name: Remove any pre-installed tox
tasks:
- name: Remove tox package with pip
shell: pip uninstall -y tox
become: true
failed_when: false
- name: Remove tox package with pip3
shell: pip3 uninstall -y tox
become: true
failed_when: false
- name: Verify tox is not installed
command: "tox --version"
register: result
failed_when: result.rc == 0
- hosts: all
name: Test ensure-tox installs into user environment
tasks:
- name: Verify tox is not installed
command: "tox --version"
register: result
failed_when: result.rc == 0
- name: Run ensure-tox with tox not installed
include_role:
name: ensure-tox
- name: Verify tox_executable is set
assert:
that:
- tox_executable == "{{ ansible_user_dir }}/.local/tox/bin/tox"
- name: Verify tox is installed
command: "{{ tox_executable }} --version"
register: result
failed_when: result.rc != 0
- hosts: all
name: Test ensure-tox when tox_executable is set to an already installed tox
tasks:
- name: Install tox inside a virtualenv
pip:
name: tox
virtualenv: "{{ ansible_user_dir }}/tox-venv"
virtualenv_command: "{{ ensure_pip_virtualenv_command }}"
- name: Run ensure-tox pointing to an already installed tox
include_role:
name: ensure-tox
vars:
tox_executable: "{{ ansible_user_dir }}/tox-venv/bin/tox"
- name: Verify tox_executable is set to the virtualenv tox
assert:
that:
- tox_executable == '{{ ansible_user_dir}}/tox-venv/bin/tox'