zuul-jobs/test-playbooks/ensure-tox.yaml
Monty Taylor 06ad3eef8a Add option to install tox into a path location
We can't do this all the time, because of rootless environments.
But sometimes people have root and want to be able to use something
from scripts from normal path.

Change-Id: I3f57a6108f8f53ebfdd12f04ecb3d8c68c5b4a60
2020-06-17 16:31:07 -05:00

57 lines
1.7 KiB
YAML

- hosts: all
name: Remove any pre-installed tox
tasks:
- name: Remove tox package with pip
shell: pip uninstall -y tox
args:
warn: false
become: true
failed_when: false
- name: Remove tox package with pip3
shell: pip3 uninstall -y tox
args:
warn: false
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: Create a virtualenv
command: '{{ ensure_pip_virtualenv_command }} {{ ansible_user_dir }}/tox-venv'
- name: Install tox to local venv
command: '{{ ansible_user_dir }}/tox-venv/bin/pip install tox'
- 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'