#!/usr/bin/env bats load test_helper setup() { export PYENV_ROOT="${TMP}/pyenv" } stub_pyenv() { export PYENV_VERSION="$1" stub pyenv-version-name "echo \${PYENV_VERSION}" stub pyenv-prefix " : echo '${PYENV_ROOT}/versions/${PYENV_VERSION}'" stub pyenv-hooks "virtualenv : echo" stub pyenv-rehash " : echo rehashed" } unstub_pyenv() { unset PYENV_VERSION unstub pyenv-version-name unstub pyenv-prefix unstub pyenv-hooks unstub pyenv-rehash } @test "use pyvenv if virtualenv is not available" { stub_pyenv "3.4.1" stub pyenv-prefix " : echo '${PYENV_ROOT}/versions/${PYENV_VERSION}'" stub pyenv-prefix " : echo '${PYENV_ROOT}/versions/${PYENV_VERSION}'" stub pyenv-exec "echo PYENV_VERSION=\${PYENV_VERSION} \"\$@\"" stub pyenv-exec "bin=\"${PYENV_ROOT}/versions/venv/bin\";mkdir -p \"\$bin\";touch \"\$bin/pip3.4\";echo PYENV_VERSION=\${PYENV_VERSION} ensurepip" stub pyenv-exec "echo 3.4" remove_executable "3.4.1" "virtualenv" create_executable "3.4.1" "pyvenv" run pyenv-virtualenv venv assert_success assert_output <