From 0fa5de07c96bb18331584400c48f10396769b2b1 Mon Sep 17 00:00:00 2001 From: "Yamashita, Yuu" Date: Fri, 6 Nov 2015 18:26:23 +0000 Subject: [PATCH] fix broken tests --- bin/pyenv-sh-deactivate | 7 ++++- bin/pyenv-virtualenv-init | 6 ++-- test/activate.bats | 16 +++++++--- test/conda-activate.bats | 6 ++++ test/conda-deactivate.bats | 3 ++ test/deactivate.bats | 26 +++++++++++----- test/init.bats | 64 +++++++++++--------------------------- 7 files changed, 66 insertions(+), 62 deletions(-) diff --git a/bin/pyenv-sh-deactivate b/bin/pyenv-sh-deactivate index 524aa5e..bc1d859 100755 --- a/bin/pyenv-sh-deactivate +++ b/bin/pyenv-sh-deactivate @@ -36,7 +36,12 @@ if [ -z "${prefix}" ]; then exit 1 fi -echo "pyenv-virtualenv: deactivate ${prefix##*/}" 1>&2 +if [[ "${prefix}" != "${prefix%/envs/*}" ]]; then + version="$(basename "${prefix%/envs/*}")/envs/${prefix##*/}" +else + version="${prefix##*/}" +fi +echo "pyenv-virtualenv: deactivate ${version}" 1>&2 if [ -n "${PYENV_ACTIVATE_SHELL}" ]; then # shell version set in pyenv-sh-activate should be unset diff --git a/bin/pyenv-virtualenv-init b/bin/pyenv-virtualenv-init index 50d501c..02e2c73 100755 --- a/bin/pyenv-virtualenv-init +++ b/bin/pyenv-virtualenv-init @@ -134,12 +134,12 @@ if [[ "$shell" != "fish" ]]; then local ret=\$? if [ -n "\$VIRTUAL_ENV" ]; then if [ "\$VIRTUAL_ENV" != "\$(pyenv prefix 2>/dev/null || true)" ]; then - eval "\$(pyenv sh-deactivate --quiet)" || true - eval "\$(pyenv sh-activate --quiet)" || true + eval "\$(pyenv sh-deactivate --quiet || true)" || true + eval "\$(pyenv sh-activate --quiet || true)" || true fi else if [ "\$PYENV_DEACTIVATE" != "\$(pyenv prefix 2>/dev/null || true)" ]; then - eval "\$(pyenv sh-activate --quiet)" || true + eval "\$(pyenv sh-activate --quiet || true)" || true fi fi return \$ret diff --git a/test/activate.bats b/test/activate.bats index e812c07..d274e9b 100644 --- a/test/activate.bats +++ b/test/activate.bats @@ -23,6 +23,7 @@ setup() { assert_success assert_output </dev/null || true)" = "system" ]; then - eval "\$(pyenv sh-deactivate --no-error --verbose)" - unset PYENV_DEACTIVATE - return \$ret - fi - if [ "\$PYENV_ACTIVATE" != "\$(pyenv prefix 2>/dev/null || true)" ]; then - if eval "\$(pyenv sh-deactivate --no-error --verbose)"; then - unset PYENV_DEACTIVATE - eval "\$(pyenv sh-activate --no-error --verbose)" || unset PYENV_DEACTIVATE - else - eval "\$(pyenv sh-activate --no-error --verbose)" - fi + if [ -n "\$VIRTUAL_ENV" ]; then + if [ "\$VIRTUAL_ENV" != "\$(pyenv prefix 2>/dev/null || true)" ]; then + eval "\$(pyenv sh-deactivate --quiet || true)" || true + eval "\$(pyenv sh-activate --quiet || true)" || true fi else - if [ -z "\$VIRTUAL_ENV" ] && [ "\$PYENV_DEACTIVATE" != "\$(pyenv prefix 2>/dev/null || true)" ]; then - eval "\$(pyenv sh-activate --no-error --verbose)" || true + if [ "\$PYENV_DEACTIVATE" != "\$(pyenv prefix 2>/dev/null || true)" ]; then + eval "\$(pyenv sh-activate --quiet || true)" || true fi fi return \$ret @@ -89,25 +80,15 @@ EOS setenv PATH '${TMP}/pyenv/plugins/pyenv-virtualenv/shims' \$PATH; setenv PYENV_VIRTUALENV_INIT 1; function _pyenv_virtualenv_hook --on-event fish_prompt; - set -l PYENV_PREFIX (pyenv prefix 2>/dev/null; or true) set -l ret \$status - if [ -n "\$PYENV_ACTIVATE" ] - if [ (pyenv version-name 2>/dev/null; or true) = "system" ] - pyenv deactivate --no-error --verbose - set -e PYENV_DEACTIVATE - return \$ret - end - if [ "\$PYENV_ACTIVATE" != "\$PYENV_PREFIX" ] - if pyenv deactivate --no-error --verbose - set -e PYENV_DEACTIVATE - pyenv activate --no-error --verbose; or set -e PYENV_DEACTIVATE - else - pyenv activate --no-error --verbose - end + if [ -n "\$VIRTUAL_ENV" ] + if [ "\$VIRTUAL_ENV" != (pyenv prefix 2>/dev/null; or true) ] + pyenv deactivate --quiet; or true + pyenv activate --quiet; or true end else - if [ -z "\$VIRTUAL_ENV" ]; and [ "\$PYENV_DEACTIVATE" != "\$PYENV_PREFIX" ] - pyenv activate --no-error --verbose; or true + if [ "\$PYENV_DEACTIVATE" != (pyenv prefix 2>/dev/null; or true) ] + pyenv activate --quiet; or true end end return \$ret @@ -124,23 +105,14 @@ export PATH="${TMP}/pyenv/plugins/pyenv-virtualenv/shims:${PATH}"; export PYENV_VIRTUALENV_INIT=1; _pyenv_virtualenv_hook() { local ret=\$? - if [ -n "\$PYENV_ACTIVATE" ]; then - if [ "\$(pyenv version-name 2>/dev/null || true)" = "system" ]; then - eval "\$(pyenv sh-deactivate --no-error --verbose)" - unset PYENV_DEACTIVATE - return \$ret - fi - if [ "\$PYENV_ACTIVATE" != "\$(pyenv prefix 2>/dev/null || true)" ]; then - if eval "\$(pyenv sh-deactivate --no-error --verbose)"; then - unset PYENV_DEACTIVATE - eval "\$(pyenv sh-activate --no-error --verbose)" || unset PYENV_DEACTIVATE - else - eval "\$(pyenv sh-activate --no-error --verbose)" - fi + if [ -n "\$VIRTUAL_ENV" ]; then + if [ "\$VIRTUAL_ENV" != "\$(pyenv prefix 2>/dev/null || true)" ]; then + eval "\$(pyenv sh-deactivate --quiet || true)" || true + eval "\$(pyenv sh-activate --quiet || true)" || true fi else - if [ -z "\$VIRTUAL_ENV" ] && [ "\$PYENV_DEACTIVATE" != "\$(pyenv prefix 2>/dev/null || true)" ]; then - eval "\$(pyenv sh-activate --no-error --verbose)" || true + if [ "\$PYENV_DEACTIVATE" != "\$(pyenv prefix 2>/dev/null || true)" ]; then + eval "\$(pyenv sh-activate --quiet || true)" || true fi fi return \$ret