diff --git a/bin/pyenv-virtualenv-prefix b/bin/pyenv-virtualenv-prefix index 3cc56de..ae2f521 100755 --- a/bin/pyenv-virtualenv-prefix +++ b/bin/pyenv-virtualenv-prefix @@ -35,9 +35,7 @@ for version in "${versions[@]}"; do PREFIX="$(pyenv-prefix "${version}")" if [ -f "${PREFIX}/bin/activate" ]; then VIRTUALENV_PREFIX_PATH="$(real_prefix "${version}" || base_prefix "${version}" || true)" - if [ -d "${VIRTUALENV_PREFIX_PATH}" ]; then - VIRTUALENV_PREFIX_PATHS=("${VIRTUALENV_PREFIX_PATHS[@]}" "$VIRTUALENV_PREFIX_PATH") - fi + VIRTUALENV_PREFIX_PATHS=("${VIRTUALENV_PREFIX_PATHS[@]}" "$VIRTUALENV_PREFIX_PATH") else echo "pyenv-virtualenv: version \`${version}' is not a virtualenv" 1>&2 exit 1 diff --git a/test/virtualenv-prefix.bats b/test/virtualenv-prefix.bats new file mode 100644 index 0000000..4a6fee1 --- /dev/null +++ b/test/virtualenv-prefix.bats @@ -0,0 +1,145 @@ +#!/usr/bin/env bats + +load test_helper + +setup() { + export PYENV_ROOT="${TMP}/pyenv" +} + +create_virtualenv() { + mkdir -p "${PYENV_ROOT}/versions/$1/bin" + touch "${PYENV_ROOT}/versions/$1/bin/activate" +} + +remove_virtualenv() { + rm -fr "${PYENV_ROOT}/versions/$1" +} + +@test "display prefix with using sys.real_prefix" { + stub pyenv-version-name "echo venv27" + stub pyenv-prefix "venv27 : echo \"${PYENV_ROOT}/versions/venv27\"" + stub pyenv-exec "echo \"${PYENV_ROOT}/versions/2.7.6\"" + create_virtualenv "venv27" + + PYENV_VERSION="venv27" run pyenv-virtualenv-prefix + + unstub pyenv-version-name + unstub pyenv-prefix + unstub pyenv-exec + remove_virtualenv "venv27" + + assert_success + assert_output <