diff --git a/bin/pyenv-virtualenv-prefix b/bin/pyenv-virtualenv-prefix index ae2f521..f3a13ab 100755 --- a/bin/pyenv-virtualenv-prefix +++ b/bin/pyenv-virtualenv-prefix @@ -32,6 +32,10 @@ base_prefix() { # pyvenv VIRTUALENV_PREFIX_PATHS=() for version in "${versions[@]}"; do + if [ "$version" = "system" ]; then + echo "pyenv-virtualenv: version \`${version}' is not a virtualenv" 1>&2 + exit 1 + fi PREFIX="$(pyenv-prefix "${version}")" if [ -f "${PREFIX}/bin/activate" ]; then VIRTUALENV_PREFIX_PATH="$(real_prefix "${version}" || base_prefix "${version}" || true)" diff --git a/test/virtualenv-prefix.bats b/test/virtualenv-prefix.bats index 4a6fee1..ea03736 100644 --- a/test/virtualenv-prefix.bats +++ b/test/virtualenv-prefix.bats @@ -102,6 +102,19 @@ ${PYENV_ROOT}/versions/3.3.3:${PYENV_ROOT}/versions/3.4.0 OUT } +@test "should fail if the version is the system" { + stub pyenv-version-name "echo system" + + PYENV_VERSION="system" run pyenv-virtualenv-prefix + + unstub pyenv-version-name + + assert_failure + assert_output <