Stop using virtualenv's activate script (#69)

This commit is contained in:
Yamashita, Yuu
2015-11-04 13:27:27 +00:00
parent 2ae921c253
commit 64ceee5c8e
6 changed files with 219 additions and 230 deletions

View File

@@ -70,11 +70,7 @@ if pyenv-prefix "${versions}" 1>/dev/null 2>&1; then
fi fi
else else
version="$(pyenv-version-name)" version="$(pyenv-version-name)"
if [[ "${versions}" == "root" ]]; then versions="${version%/envs/*}/envs/${versions}"
versions="${version%/envs/*}"
else
versions="${version%/envs/*}/envs/${versions}"
fi
if ! pyenv-virtualenv-prefix "${versions}" 1>/dev/null 2>&1; then if ! pyenv-virtualenv-prefix "${versions}" 1>/dev/null 2>&1; then
[ -n "$NOERROR" ] || echo "pyenv-virtualenv: version \`${versions}' is not an environment of anaconda/miniconda" 1>&2 [ -n "$NOERROR" ] || echo "pyenv-virtualenv: version \`${versions}' is not an environment of anaconda/miniconda" 1>&2
echo "false" echo "false"
@@ -85,21 +81,6 @@ fi
shell="${PYENV_SHELL:-${SHELL##*/}}" shell="${PYENV_SHELL:-${SHELL##*/}}"
prefix="$(pyenv-prefix "${versions}")" prefix="$(pyenv-prefix "${versions}")"
unset conda_env
if [ -f "${prefix}/bin/conda" ]; then
if [[ "$shell" != "bash" ]] && [[ "$shell" != "zsh" ]]; then
[ -n "$NOERROR" ] || echo "pyenv-virtualenv: Only bash and zsh are supported by Anaconda/Miniconda" 1>&2
echo "false"
exit 1
fi
if [[ "${prefix}" != "${prefix%/envs/*}" ]]; then
conda_env="${prefix##*/envs/}"
else
conda_env="root"
fi
fi
# Display setup instruction, if pyenv-virtualenv has not been initialized. # Display setup instruction, if pyenv-virtualenv has not been initialized.
# if 'pyenv virtualenv-init -' is not found in "$profile" # if 'pyenv virtualenv-init -' is not found in "$profile"
if [ -z "$PYENV_VIRTUALENV_INIT" ]; then if [ -z "$PYENV_VIRTUALENV_INIT" ]; then
@@ -124,29 +105,63 @@ if [ -z "$no_shell" ]; then
esac esac
fi fi
if [ -n "${conda_env}" ]; then case "${shell}" in
# anaconda/miniconda fish )
cat <<EOS
set -e PYENV_DEACTIVATE;
setenv PYENV_ACTIVATE "${prefix}";
EOS
;;
* )
cat <<EOS cat <<EOS
unset PYENV_DEACTIVATE; unset PYENV_DEACTIVATE;
export PYENV_ACTIVATE="${prefix}"; export PYENV_ACTIVATE="${prefix}";
. "${prefix%/envs/*}/bin/activate" "${conda_env}";
EOS EOS
;;
esac
# virtualenv/pyvenv
case "${shell}" in
fish )
echo "setenv VIRTUAL_ENV \"${prefix}\";"
;;
* )
echo "export VIRTUAL_ENV=\"${prefix}\";"
;;
esac
# anaconda/miniconda
if [[ "${versions}" != "${versions%/envs/*}" ]]; then
CONDA_DEFAULT_ENV="${versions##*/envs/}"
else else
# virtualenv/pyvenv CONDA_DEFAULT_ENV="root"
case "$shell" in fi
case "${shell}" in
fish )
echo "setenv CONDA_DEFAULT_ENV \"${CONDA_DEFAULT_ENV}\";"
;;
* )
echo "export CONDA_DEFAULT_ENV=\"${CONDA_DEFAULT_ENV}\";"
;;
esac
if [ -n "${PYTHONHOME}" ]; then
case "${shell}" in
fish ) fish )
cat <<EOS cat <<EOS
set -e PYENV_DEACTIVATE; setenv _OLD_VIRTUAL_PYTHONHOME "${PYTHONHOME}";
setenv PYENV_ACTIVATE "${prefix}"; set -e PYTHONHOME;
. "${prefix}/bin/activate.fish";
EOS EOS
;; ;;
* ) * )
cat <<EOS cat <<EOS
unset PYENV_DEACTIVATE; export _OLD_VIRTUAL_PYTHONHOME="${PYTHONHOME}";
export PYENV_ACTIVATE="${prefix}"; unset PYTHONHOME;
. "${prefix}/bin/activate";
EOS EOS
;; ;;
esac esac
fi fi
if [ -z "${VIRTUAL_ENV_DISABLE_PROMPT}" ]; then
: # TODO: change prompt?
fi

View File

@@ -30,91 +30,83 @@ done
shell="$(basename "${PYENV_SHELL:-$SHELL}")" shell="$(basename "${PYENV_SHELL:-$SHELL}")"
prefix="${PYENV_ACTIVATE:-${VIRTUAL_ENV}}" prefix="${PYENV_ACTIVATE:-${VIRTUAL_ENV}}"
unset conda_env if [ -z "${VIRTUAL_ENV}" ]; then
[ -n "$NOERROR" ] || echo "pyenv-virtualenv: no virtualenv has been activated." 1>&2
if [ -f "${prefix}/bin/conda" ]; then echo "false"
if [[ "$shell" != "bash" ]] && [[ "$shell" != "zsh" ]]; then exit 1
[ -n "$NOERROR" ] || echo "pyenv-virtualenv: Only bash and zsh are supported by Anaconda/Miniconda" 1>&2
echo "false"
exit 1
fi
if [[ "${prefix}" != "${prefix%/envs/*}" ]]; then
conda_env="${prefix##*/envs/}"
else
conda_env="root"
fi
fi
if [ -n "${conda_env}" ]; then
echo "if [ -f \"${prefix%/envs/*}/bin/deactivate\" ]; then"
else
case "$shell" in
fish )
echo "if functions -q deactivate;"
;;
* )
echo "if declare -f deactivate 1>/dev/null 2>&1; then"
;;
esac
fi fi
if [ -n "$VERBOSE" ]; then if [ -n "$VERBOSE" ]; then
echo " echo \"pyenv-virtualenv: deactivate ${prefix##*/}\" 1>&2;" echo "pyenv-virtualenv: deactivate ${prefix##*/}" 1>&2
fi fi
if [ -n "${PYENV_ACTIVATE_SHELL}" ]; then if [ -n "${PYENV_ACTIVATE_SHELL}" ]; then
# shell version set in pyenv-sh-activate should be unset # shell version set in pyenv-sh-activate should be unset
# https://github.com/yyuu/pyenv-virtualenv/issues/61 # https://github.com/yyuu/pyenv-virtualenv/issues/61
echo " pyenv shell --unset;" echo "pyenv shell --unset;"
case "$shell" in case "$shell" in
fish ) fish )
echo " set -e PYENV_ACTIVATE_SHELL;" echo "set -e PYENV_ACTIVATE_SHELL;"
;; ;;
* ) * )
echo " unset PYENV_ACTIVATE_SHELL;" echo "unset PYENV_ACTIVATE_SHELL;"
;; ;;
esac esac
fi fi
if [ -n "${conda_env}" ]; then case "${shell}" in
cat <<EOS
export PYENV_DEACTIVATE="$prefix";
unset PYENV_ACTIVATE;
. "${prefix%/envs/*}/bin/deactivate";
else
EOS
else
case "$shell" in
fish )
cat <<EOS
setenv PYENV_DEACTIVATE "$prefix";
set -e PYENV_ACTIVATE;
deactivate;
else;
EOS
;;
* )
cat <<EOS
export PYENV_DEACTIVATE="$prefix";
unset PYENV_ACTIVATE;
deactivate;
else
EOS
;;
esac
fi
if [ -z "$NOERROR" ]; then
echo " echo \"pyenv-virtualenv: no virtualenv has been activated.\" 1>&2;"
fi
echo " false;"
case "$shell" in
fish ) fish )
echo "end;" cat <<EOS
setenv PYENV_DEACTIVATE "$prefix";
set -e PYENV_ACTIVATE;
EOS
;; ;;
* ) * )
echo "fi;" cat <<EOS
export PYENV_DEACTIVATE="$prefix";
unset PYENV_ACTIVATE;
EOS
;; ;;
esac esac
# virtualenv/pyvenv
case "${shell}" in
fish )
echo "set -e VIRTUAL_ENV;"
;;
* )
echo "unset VIRTUAL_ENV;"
;;
esac
# anaconda/miniconda
case "${shell}" in
fish )
echo "set -e CONDA_DEFAULT_ENV;"
;;
* )
echo "unset CONDA_DEFAULT_ENV;"
;;
esac
if [ -n "${_OLD_VIRTUAL_PYTHONHOME}" ]; then
case "${shell}" in
fish )
cat <<EOS
setenv PYTHONHOME "${_OLD_VIRTUAL_PYTHONHOME}";
set -e _OLD_VIRTUAL_PYTHONHOME;
EOS
;;
* )
cat <<EOS
export PYTHONHOME="${_OLD_VIRTUAL_PYTHONHOME}";
unset _OLD_VIRTUAL_PYTHONHOME;
EOS
;;
esac
fi
if [ -z "${VIRTUAL_ENV_DISABLE_PROMPT}" ]; then
: # TODO: change prompt?
fi

View File

@@ -25,7 +25,8 @@ setup() {
assert_output <<EOS assert_output <<EOS
unset PYENV_DEACTIVATE; unset PYENV_DEACTIVATE;
export PYENV_ACTIVATE="${PYENV_ROOT}/versions/venv"; export PYENV_ACTIVATE="${PYENV_ROOT}/versions/venv";
. "${PYENV_ROOT}/versions/venv/bin/activate"; export VIRTUAL_ENV="${PYENV_ROOT}/versions/venv";
export CONDA_DEFAULT_ENV="root";
EOS EOS
} }
@@ -48,7 +49,8 @@ EOS
pyenv-virtualenv: activate venv pyenv-virtualenv: activate venv
unset PYENV_DEACTIVATE; unset PYENV_DEACTIVATE;
export PYENV_ACTIVATE="${PYENV_ROOT}/versions/venv"; export PYENV_ACTIVATE="${PYENV_ROOT}/versions/venv";
. "${PYENV_ROOT}/versions/venv/bin/activate"; export VIRTUAL_ENV="${PYENV_ROOT}/versions/venv";
export CONDA_DEFAULT_ENV="root";
EOS EOS
} }
@@ -77,7 +79,8 @@ pyenv shell "venv";
export PYENV_ACTIVATE_SHELL=1; export PYENV_ACTIVATE_SHELL=1;
unset PYENV_DEACTIVATE; unset PYENV_DEACTIVATE;
export PYENV_ACTIVATE="${PYENV_ROOT}/versions/venv"; export PYENV_ACTIVATE="${PYENV_ROOT}/versions/venv";
. "${PYENV_ROOT}/versions/venv/bin/activate"; export VIRTUAL_ENV="${PYENV_ROOT}/versions/venv";
export CONDA_DEFAULT_ENV="root";
EOS EOS
} }
@@ -99,7 +102,8 @@ EOS
assert_output <<EOS assert_output <<EOS
set -e PYENV_DEACTIVATE; set -e PYENV_DEACTIVATE;
setenv PYENV_ACTIVATE "${PYENV_ROOT}/versions/venv"; setenv PYENV_ACTIVATE "${PYENV_ROOT}/versions/venv";
. "${PYENV_ROOT}/versions/venv/bin/activate.fish"; setenv VIRTUAL_ENV "${PYENV_ROOT}/versions/venv";
setenv CONDA_DEFAULT_ENV "root";
EOS EOS
} }
@@ -128,7 +132,8 @@ pyenv shell "venv";
setenv PYENV_ACTIVATE_SHELL 1; setenv PYENV_ACTIVATE_SHELL 1;
set -e PYENV_DEACTIVATE; set -e PYENV_DEACTIVATE;
setenv PYENV_ACTIVATE "${PYENV_ROOT}/versions/venv"; setenv PYENV_ACTIVATE "${PYENV_ROOT}/versions/venv";
. "${PYENV_ROOT}/versions/venv/bin/activate.fish"; setenv VIRTUAL_ENV "${PYENV_ROOT}/versions/venv";
setenv CONDA_DEFAULT_ENV "root";
EOS EOS
} }
@@ -150,7 +155,8 @@ pyenv shell "venv27";
export PYENV_ACTIVATE_SHELL=1; export PYENV_ACTIVATE_SHELL=1;
unset PYENV_DEACTIVATE; unset PYENV_DEACTIVATE;
export PYENV_ACTIVATE="${PYENV_ROOT}/versions/venv27"; export PYENV_ACTIVATE="${PYENV_ROOT}/versions/venv27";
. "${PYENV_ROOT}/versions/venv27/bin/activate"; export VIRTUAL_ENV="${PYENV_ROOT}/versions/venv27";
export CONDA_DEFAULT_ENV="root";
EOS EOS
} }
@@ -177,7 +183,8 @@ pyenv shell "venv27";
export PYENV_ACTIVATE_SHELL=1; export PYENV_ACTIVATE_SHELL=1;
unset PYENV_DEACTIVATE; unset PYENV_DEACTIVATE;
export PYENV_ACTIVATE="${PYENV_ROOT}/versions/venv27"; export PYENV_ACTIVATE="${PYENV_ROOT}/versions/venv27";
. "${PYENV_ROOT}/versions/venv27/bin/activate"; export VIRTUAL_ENV="${PYENV_ROOT}/versions/venv27";
export CONDA_DEFAULT_ENV="root";
EOS EOS
} }
@@ -199,7 +206,8 @@ pyenv shell "venv27";
setenv PYENV_ACTIVATE_SHELL 1; setenv PYENV_ACTIVATE_SHELL 1;
set -e PYENV_DEACTIVATE; set -e PYENV_DEACTIVATE;
setenv PYENV_ACTIVATE "${PYENV_ROOT}/versions/venv27"; setenv PYENV_ACTIVATE "${PYENV_ROOT}/versions/venv27";
. "${PYENV_ROOT}/versions/venv27/bin/activate.fish"; setenv VIRTUAL_ENV "${PYENV_ROOT}/versions/venv27";
setenv CONDA_DEFAULT_ENV "root";
EOS EOS
} }
@@ -226,7 +234,8 @@ pyenv shell "venv27";
setenv PYENV_ACTIVATE_SHELL 1; setenv PYENV_ACTIVATE_SHELL 1;
set -e PYENV_DEACTIVATE; set -e PYENV_DEACTIVATE;
setenv PYENV_ACTIVATE "${PYENV_ROOT}/versions/venv27"; setenv PYENV_ACTIVATE "${PYENV_ROOT}/versions/venv27";
. "${PYENV_ROOT}/versions/venv27/bin/activate.fish"; setenv VIRTUAL_ENV "${PYENV_ROOT}/versions/venv27";
setenv CONDA_DEFAULT_ENV "root";
EOS EOS
} }

View File

@@ -26,7 +26,8 @@ setup() {
assert_output <<EOS assert_output <<EOS
unset PYENV_DEACTIVATE; unset PYENV_DEACTIVATE;
export PYENV_ACTIVATE="${PYENV_ROOT}/versions/anaconda-2.3.0"; export PYENV_ACTIVATE="${PYENV_ROOT}/versions/anaconda-2.3.0";
. "${PYENV_ROOT}/versions/anaconda-2.3.0/bin/activate" "root"; export VIRTUAL_ENV="${PYENV_ROOT}/versions/anaconda-2.3.0";
export CONDA_DEFAULT_ENV="root";
EOS EOS
} }
@@ -45,10 +46,12 @@ EOS
unstub pyenv-virtualenv-prefix unstub pyenv-virtualenv-prefix
unstub pyenv-prefix unstub pyenv-prefix
assert_failure assert_success
assert_output <<EOS assert_output <<EOS
pyenv-virtualenv: Only bash and zsh are supported by Anaconda/Miniconda set -e PYENV_DEACTIVATE;
false setenv PYENV_ACTIVATE "${TMP}/pyenv/versions/anaconda-2.3.0";
setenv VIRTUAL_ENV "${TMP}/pyenv/versions/anaconda-2.3.0";
setenv CONDA_DEFAULT_ENV "root";
EOS EOS
} }
@@ -72,7 +75,8 @@ pyenv shell "miniconda-3.9.1";
export PYENV_ACTIVATE_SHELL=1; export PYENV_ACTIVATE_SHELL=1;
unset PYENV_DEACTIVATE; unset PYENV_DEACTIVATE;
export PYENV_ACTIVATE="${PYENV_ROOT}/versions/miniconda-3.9.1"; export PYENV_ACTIVATE="${PYENV_ROOT}/versions/miniconda-3.9.1";
. "${PYENV_ROOT}/versions/miniconda-3.9.1/bin/activate" "root"; export VIRTUAL_ENV="${PYENV_ROOT}/versions/miniconda-3.9.1";
export CONDA_DEFAULT_ENV="root";
EOS EOS
} }
@@ -95,7 +99,8 @@ EOS
assert_output <<EOS assert_output <<EOS
unset PYENV_DEACTIVATE; unset PYENV_DEACTIVATE;
export PYENV_ACTIVATE="${PYENV_ROOT}/versions/anaconda-2.3.0/envs/foo"; export PYENV_ACTIVATE="${PYENV_ROOT}/versions/anaconda-2.3.0/envs/foo";
. "${PYENV_ROOT}/versions/anaconda-2.3.0/bin/activate" "foo"; export VIRTUAL_ENV="${PYENV_ROOT}/versions/anaconda-2.3.0/envs/foo";
export CONDA_DEFAULT_ENV="foo";
EOS EOS
} }
@@ -119,7 +124,8 @@ pyenv shell "miniconda-3.9.1/envs/bar";
export PYENV_ACTIVATE_SHELL=1; export PYENV_ACTIVATE_SHELL=1;
unset PYENV_DEACTIVATE; unset PYENV_DEACTIVATE;
export PYENV_ACTIVATE="${PYENV_ROOT}/versions/miniconda-3.9.1/envs/bar"; export PYENV_ACTIVATE="${PYENV_ROOT}/versions/miniconda-3.9.1/envs/bar";
. "${PYENV_ROOT}/versions/miniconda-3.9.1/bin/activate" "bar"; export VIRTUAL_ENV="${PYENV_ROOT}/versions/miniconda-3.9.1/envs/bar";
export CONDA_DEFAULT_ENV="bar";
EOS EOS
} }
@@ -144,6 +150,7 @@ pyenv shell "miniconda-3.9.1/envs/bar";
export PYENV_ACTIVATE_SHELL=1; export PYENV_ACTIVATE_SHELL=1;
unset PYENV_DEACTIVATE; unset PYENV_DEACTIVATE;
export PYENV_ACTIVATE="${PYENV_ROOT}/versions/miniconda-3.9.1/envs/bar"; export PYENV_ACTIVATE="${PYENV_ROOT}/versions/miniconda-3.9.1/envs/bar";
. "${PYENV_ROOT}/versions/miniconda-3.9.1/bin/activate" "bar"; export VIRTUAL_ENV="${PYENV_ROOT}/versions/miniconda-3.9.1/envs/bar";
export CONDA_DEFAULT_ENV="bar";
EOS EOS
} }

View File

@@ -7,6 +7,7 @@ setup() {
} }
@test "deactivate conda root" { @test "deactivate conda root" {
export VIRTUAL_ENV="${PYENV_ROOT}/versions/anaconda-2.3.0"
export PYENV_ACTIVATE="${PYENV_ROOT}/versions/anaconda-2.3.0" export PYENV_ACTIVATE="${PYENV_ROOT}/versions/anaconda-2.3.0"
export PYENV_ACTIVATE_SHELL= export PYENV_ACTIVATE_SHELL=
@@ -16,18 +17,15 @@ setup() {
assert_success assert_success
assert_output <<EOS assert_output <<EOS
if [ -f "${PYENV_ROOT}/versions/anaconda-2.3.0/bin/deactivate" ]; then export PYENV_DEACTIVATE="$PYENV_ACTIVATE";
export PYENV_DEACTIVATE="$PYENV_ACTIVATE"; unset PYENV_ACTIVATE;
unset PYENV_ACTIVATE; unset VIRTUAL_ENV;
. "${PYENV_ROOT}/versions/anaconda-2.3.0/bin/deactivate"; unset CONDA_DEFAULT_ENV;
else
echo "pyenv-virtualenv: no virtualenv has been activated." 1>&2;
false;
fi;
EOS EOS
} }
@test "deactivate conda root (fish)" { @test "deactivate conda root (fish)" {
export VIRTUAL_ENV="${PYENV_ROOT}/versions/anaconda-2.3.0"
export PYENV_ACTIVATE="${PYENV_ROOT}/versions/anaconda-2.3.0" export PYENV_ACTIVATE="${PYENV_ROOT}/versions/anaconda-2.3.0"
export PYENV_ACTIVATE_SHELL= export PYENV_ACTIVATE_SHELL=
@@ -35,14 +33,17 @@ EOS
PYENV_SHELL="fish" run pyenv-sh-deactivate PYENV_SHELL="fish" run pyenv-sh-deactivate
assert_failure assert_success
assert_output <<EOS assert_output <<EOS
pyenv-virtualenv: Only bash and zsh are supported by Anaconda/Miniconda setenv PYENV_DEACTIVATE "${TMP}/pyenv/versions/anaconda-2.3.0";
false set -e PYENV_ACTIVATE;
set -e VIRTUAL_ENV;
set -e CONDA_DEFAULT_ENV;
EOS EOS
} }
@test "deactivate conda env" { @test "deactivate conda env" {
export VIRTUAL_ENV="${PYENV_ROOT}/versions/anaconda-2.3.0/envs/foo"
export PYENV_ACTIVATE="${PYENV_ROOT}/versions/anaconda-2.3.0/envs/foo" export PYENV_ACTIVATE="${PYENV_ROOT}/versions/anaconda-2.3.0/envs/foo"
export PYENV_ACTIVATE_SHELL= export PYENV_ACTIVATE_SHELL=
@@ -52,13 +53,9 @@ EOS
assert_success assert_success
assert_output <<EOS assert_output <<EOS
if [ -f "${PYENV_ROOT}/versions/anaconda-2.3.0/bin/deactivate" ]; then export PYENV_DEACTIVATE="$PYENV_ACTIVATE";
export PYENV_DEACTIVATE="$PYENV_ACTIVATE"; unset PYENV_ACTIVATE;
unset PYENV_ACTIVATE; unset VIRTUAL_ENV;
. "${PYENV_ROOT}/versions/anaconda-2.3.0/bin/deactivate"; unset CONDA_DEFAULT_ENV;
else
echo "pyenv-virtualenv: no virtualenv has been activated." 1>&2;
false;
fi;
EOS EOS
} }

View File

@@ -7,6 +7,7 @@ setup() {
} }
@test "deactivate virtualenv" { @test "deactivate virtualenv" {
export VIRTUAL_ENV="${PYENV_ROOT}/versions/venv"
export PYENV_ACTIVATE="${PYENV_ROOT}/versions/venv" export PYENV_ACTIVATE="${PYENV_ROOT}/versions/venv"
export PYENV_ACTIVATE_SHELL= export PYENV_ACTIVATE_SHELL=
@@ -14,18 +15,15 @@ setup() {
assert_success assert_success
assert_output <<EOS assert_output <<EOS
if declare -f deactivate 1>/dev/null 2>&1; then export PYENV_DEACTIVATE="$PYENV_ACTIVATE";
export PYENV_DEACTIVATE="$PYENV_ACTIVATE"; unset PYENV_ACTIVATE;
unset PYENV_ACTIVATE; unset VIRTUAL_ENV;
deactivate; unset CONDA_DEFAULT_ENV;
else
echo "pyenv-virtualenv: no virtualenv has been activated." 1>&2;
false;
fi;
EOS EOS
} }
@test "deactivate virtualenv (verbose)" { @test "deactivate virtualenv (verbose)" {
export VIRTUAL_ENV="${PYENV_ROOT}/versions/venv"
export PYENV_ACTIVATE="${PYENV_ROOT}/versions/venv" export PYENV_ACTIVATE="${PYENV_ROOT}/versions/venv"
export PYENV_ACTIVATE_SHELL= export PYENV_ACTIVATE_SHELL=
@@ -33,19 +31,16 @@ EOS
assert_success assert_success
assert_output <<EOS assert_output <<EOS
if declare -f deactivate 1>/dev/null 2>&1; then pyenv-virtualenv: deactivate venv
echo "pyenv-virtualenv: deactivate venv" 1>&2; export PYENV_DEACTIVATE="$PYENV_ACTIVATE";
export PYENV_DEACTIVATE="$PYENV_ACTIVATE"; unset PYENV_ACTIVATE;
unset PYENV_ACTIVATE; unset VIRTUAL_ENV;
deactivate; unset CONDA_DEFAULT_ENV;
else
echo "pyenv-virtualenv: no virtualenv has been activated." 1>&2;
false;
fi;
EOS EOS
} }
@test "deactivate virtualenv (no-error)" { @test "deactivate virtualenv (no-error)" {
export VIRTUAL_ENV="${PYENV_ROOT}/versions/venv"
export PYENV_ACTIVATE="${PYENV_ROOT}/versions/venv" export PYENV_ACTIVATE="${PYENV_ROOT}/versions/venv"
export PYENV_ACTIVATE_SHELL= export PYENV_ACTIVATE_SHELL=
@@ -53,17 +48,15 @@ EOS
assert_success assert_success
assert_output <<EOS assert_output <<EOS
if declare -f deactivate 1>/dev/null 2>&1; then export PYENV_DEACTIVATE="$PYENV_ACTIVATE";
export PYENV_DEACTIVATE="$PYENV_ACTIVATE"; unset PYENV_ACTIVATE;
unset PYENV_ACTIVATE; unset VIRTUAL_ENV;
deactivate; unset CONDA_DEFAULT_ENV;
else
false;
fi;
EOS EOS
} }
@test "deactivate virtualenv (with shell activation)" { @test "deactivate virtualenv (with shell activation)" {
export VIRTUAL_ENV="${PYENV_ROOT}/versions/venv"
export PYENV_ACTIVATE="${PYENV_ROOT}/versions/venv" export PYENV_ACTIVATE="${PYENV_ROOT}/versions/venv"
export PYENV_ACTIVATE_SHELL=1 export PYENV_ACTIVATE_SHELL=1
@@ -71,20 +64,17 @@ EOS
assert_success assert_success
assert_output <<EOS assert_output <<EOS
if declare -f deactivate 1>/dev/null 2>&1; then pyenv shell --unset;
pyenv shell --unset; unset PYENV_ACTIVATE_SHELL;
unset PYENV_ACTIVATE_SHELL; export PYENV_DEACTIVATE="$PYENV_ACTIVATE";
export PYENV_DEACTIVATE="$PYENV_ACTIVATE"; unset PYENV_ACTIVATE;
unset PYENV_ACTIVATE; unset VIRTUAL_ENV;
deactivate; unset CONDA_DEFAULT_ENV;
else
echo "pyenv-virtualenv: no virtualenv has been activated." 1>&2;
false;
fi;
EOS EOS
} }
@test "deactivate virtualenv (with shell activation) (no-error)" { @test "deactivate virtualenv (with shell activation) (no-error)" {
export VIRTUAL_ENV="${PYENV_ROOT}/versions/venv"
export PYENV_ACTIVATE="${PYENV_ROOT}/versions/venv" export PYENV_ACTIVATE="${PYENV_ROOT}/versions/venv"
export PYENV_ACTIVATE_SHELL=1 export PYENV_ACTIVATE_SHELL=1
@@ -92,15 +82,12 @@ EOS
assert_success assert_success
assert_output <<EOS assert_output <<EOS
if declare -f deactivate 1>/dev/null 2>&1; then pyenv shell --unset;
pyenv shell --unset; unset PYENV_ACTIVATE_SHELL;
unset PYENV_ACTIVATE_SHELL; export PYENV_DEACTIVATE="$PYENV_ACTIVATE";
export PYENV_DEACTIVATE="$PYENV_ACTIVATE"; unset PYENV_ACTIVATE;
unset PYENV_ACTIVATE; unset VIRTUAL_ENV;
deactivate; unset CONDA_DEFAULT_ENV;
else
false;
fi;
EOS EOS
} }
@@ -113,18 +100,15 @@ EOS
assert_success assert_success
assert_output <<EOS assert_output <<EOS
if declare -f deactivate 1>/dev/null 2>&1; then export PYENV_DEACTIVATE="$VIRTUAL_ENV";
export PYENV_DEACTIVATE="$VIRTUAL_ENV"; unset PYENV_ACTIVATE;
unset PYENV_ACTIVATE; unset VIRTUAL_ENV;
deactivate; unset CONDA_DEFAULT_ENV;
else
echo "pyenv-virtualenv: no virtualenv has been activated." 1>&2;
false;
fi;
EOS EOS
} }
@test "deactivate virtualenv (fish)" { @test "deactivate virtualenv (fish)" {
export VIRTUAL_ENV="${PYENV_ROOT}/versions/venv"
export PYENV_ACTIVATE="${PYENV_ROOT}/versions/venv" export PYENV_ACTIVATE="${PYENV_ROOT}/versions/venv"
export PYENV_ACTIVATE_SHELL= export PYENV_ACTIVATE_SHELL=
@@ -132,18 +116,15 @@ EOS
assert_success assert_success
assert_output <<EOS assert_output <<EOS
if functions -q deactivate; setenv PYENV_DEACTIVATE "$PYENV_ACTIVATE";
setenv PYENV_DEACTIVATE "$PYENV_ACTIVATE"; set -e PYENV_ACTIVATE;
set -e PYENV_ACTIVATE; set -e VIRTUAL_ENV;
deactivate; set -e CONDA_DEFAULT_ENV;
else;
echo "pyenv-virtualenv: no virtualenv has been activated." 1>&2;
false;
end;
EOS EOS
} }
@test "deactivate virtualenv (fish) (no-error)" { @test "deactivate virtualenv (fish) (no-error)" {
export VIRTUAL_ENV="${PYENV_ROOT}/versions/venv"
export PYENV_ACTIVATE="${PYENV_ROOT}/versions/venv" export PYENV_ACTIVATE="${PYENV_ROOT}/versions/venv"
export PYENV_ACTIVATE_SHELL= export PYENV_ACTIVATE_SHELL=
@@ -151,17 +132,15 @@ EOS
assert_success assert_success
assert_output <<EOS assert_output <<EOS
if functions -q deactivate; setenv PYENV_DEACTIVATE "$PYENV_ACTIVATE";
setenv PYENV_DEACTIVATE "$PYENV_ACTIVATE"; set -e PYENV_ACTIVATE;
set -e PYENV_ACTIVATE; set -e VIRTUAL_ENV;
deactivate; set -e CONDA_DEFAULT_ENV;
else;
false;
end;
EOS EOS
} }
@test "deactivate virtualenv (fish) (with shell activation)" { @test "deactivate virtualenv (fish) (with shell activation)" {
export VIRTUAL_ENV="${PYENV_ROOT}/versions/venv"
export PYENV_ACTIVATE="${PYENV_ROOT}/versions/venv" export PYENV_ACTIVATE="${PYENV_ROOT}/versions/venv"
export PYENV_ACTIVATE_SHELL=1 export PYENV_ACTIVATE_SHELL=1
@@ -169,20 +148,17 @@ EOS
assert_success assert_success
assert_output <<EOS assert_output <<EOS
if functions -q deactivate; pyenv shell --unset;
pyenv shell --unset; set -e PYENV_ACTIVATE_SHELL;
set -e PYENV_ACTIVATE_SHELL; setenv PYENV_DEACTIVATE "$PYENV_ACTIVATE";
setenv PYENV_DEACTIVATE "$PYENV_ACTIVATE"; set -e PYENV_ACTIVATE;
set -e PYENV_ACTIVATE; set -e VIRTUAL_ENV;
deactivate; set -e CONDA_DEFAULT_ENV;
else;
echo "pyenv-virtualenv: no virtualenv has been activated." 1>&2;
false;
end;
EOS EOS
} }
@test "deactivate virtualenv (fish) (with shell activation) (no-error)" { @test "deactivate virtualenv (fish) (with shell activation) (no-error)" {
export VIRTUAL_ENV="${PYENV_ROOT}/versions/venv"
export PYENV_ACTIVATE="${PYENV_ROOT}/versions/venv" export PYENV_ACTIVATE="${PYENV_ROOT}/versions/venv"
export PYENV_ACTIVATE_SHELL=1 export PYENV_ACTIVATE_SHELL=1
@@ -190,15 +166,12 @@ EOS
assert_success assert_success
assert_output <<EOS assert_output <<EOS
if functions -q deactivate; pyenv shell --unset;
pyenv shell --unset; set -e PYENV_ACTIVATE_SHELL;
set -e PYENV_ACTIVATE_SHELL; setenv PYENV_DEACTIVATE "$PYENV_ACTIVATE";
setenv PYENV_DEACTIVATE "$PYENV_ACTIVATE"; set -e PYENV_ACTIVATE;
set -e PYENV_ACTIVATE; set -e VIRTUAL_ENV;
deactivate; set -e CONDA_DEFAULT_ENV;
else;
false;
end;
EOS EOS
} }
@@ -211,14 +184,10 @@ EOS
assert_success assert_success
assert_output <<EOS assert_output <<EOS
if functions -q deactivate; setenv PYENV_DEACTIVATE "$VIRTUAL_ENV";
setenv PYENV_DEACTIVATE "$VIRTUAL_ENV"; set -e PYENV_ACTIVATE;
set -e PYENV_ACTIVATE; set -e VIRTUAL_ENV;
deactivate; set -e CONDA_DEFAULT_ENV;
else;
echo "pyenv-virtualenv: no virtualenv has been activated." 1>&2;
false;
end;
EOS EOS
} }