- hosts: all name: Test ensure-tox when tox is installed in system default tasks: - name: Verify tox is pre-installed on OpenDev images command: "tox --version" - name: Run ensure-tox with tox already installed include_role: name: ensure-tox - name: Verify tox_executable is not set by ensure-tox assert: that: - tox_executable is not defined - hosts: all name: Test ensure-tox when tox_executable is already set and tox is installed tasks: - name: Install tox inside a virtualenv pip: name: tox virtualenv: "{{ ansible_user_dir }}/tox-venv" - name: Run ensure-tox with tox not installed include_role: name: ensure-tox vars: tox_executable: "{{ ansible_user_dir }}/tox-venv/bin/tox" - name: Verify tox_executable is not set by ensure-tox assert: that: - tox_executable is not defined - hosts: all name: Remove 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 when tox is not installed tasks: - name: Remove tox package shell: pip uninstall tox || pip3 uninstall tox failed_when: false become: true - 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/bin/tox" - name: Verify tox is installed command: "{{ tox_executable }} --version" register: result failed_when: result.rc != 0