mirror of
https://github.com/pyenv/pyenv-virtualenv.git
synced 2025-11-12 05:23:53 -05:00
Add --quiet option to activate and deactivate
This commit is contained in:
@@ -20,6 +20,12 @@ if [ "$1" = "--complete" ]; then
|
||||
exec pyenv-virtualenvs --bare
|
||||
fi
|
||||
|
||||
unset QUIET
|
||||
if [ "$1" = "--quiet" ]; then
|
||||
QUIET=1
|
||||
shift 1
|
||||
fi
|
||||
|
||||
if [ "$1" = "--unset" ]; then
|
||||
echo "pyenv deactivate"
|
||||
exit
|
||||
@@ -40,12 +46,13 @@ if [ -z "${PYENV_VIRTUALENV_INIT}" ]; then
|
||||
fi
|
||||
|
||||
if [ "${#versions[@]}" -gt 1 ]; then
|
||||
echo "pyenv-virtualenv: cannot activate multiple versions at once: ${versions[@]}" 1>&2
|
||||
[ -n "$QUIET" ] || echo "pyenv-virtualenv: cannot activate multiple versions at once: ${versions[@]}" 1>&2
|
||||
echo "false"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if ! pyenv-virtualenv-prefix "${versions}" 1>/dev/null; then
|
||||
if ! pyenv-virtualenv-prefix "${versions}" 1>/dev/null 2>&1; then
|
||||
[ -n "$QUIET" ] || echo "pyenv-virtualenv: version \`${versions}' is not a virtualenv" 1>&2
|
||||
echo "false"
|
||||
exit 1
|
||||
fi
|
||||
@@ -70,9 +77,11 @@ fish )
|
||||
esac
|
||||
|
||||
# Display setup instruction if 'pyenv virtualenv-init -' is not found in "$profile"
|
||||
if [ -z "$QUIET" ]; then
|
||||
if [ -f "$profile" ] && grep -q 'pyenv init -' "$profile" && ! grep -q 'pyenv virtualenv-init -' "$profile"; then
|
||||
pyenv-virtualenv-init >&2 || true
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ -z "$no_shell" ]; then
|
||||
echo "pyenv shell \"${versions}\";"
|
||||
|
||||
@@ -9,6 +9,12 @@
|
||||
set -e
|
||||
[ -n "$PYENV_DEBUG" ] && set -x
|
||||
|
||||
unset QUIET
|
||||
if [ "$1" = "--quiet" ]; then
|
||||
QUIET=1
|
||||
shift 1
|
||||
fi
|
||||
|
||||
shell="$(basename "${PYENV_SHELL:-$SHELL}")"
|
||||
case "$shell" in
|
||||
fish )
|
||||
@@ -27,23 +33,29 @@ fi
|
||||
|
||||
case "$shell" in
|
||||
fish )
|
||||
cat <<EOS
|
||||
setenv PYENV_DEACTIVATE "\$VIRTUAL_ENV";
|
||||
deactivate;
|
||||
else
|
||||
echo "pyenv-virtualenv: no virtualenv has been activated." 1>&2;
|
||||
false;
|
||||
end;
|
||||
EOS
|
||||
echo " setenv PYENV_DEACTIVATE \"\$VIRTUAL_ENV\";"
|
||||
;;
|
||||
* )
|
||||
cat <<EOS
|
||||
export PYENV_DEACTIVATE="\$VIRTUAL_ENV";
|
||||
deactivate;
|
||||
else
|
||||
echo "pyenv-virtualenv: no virtualenv has been activated." 1>&2;
|
||||
false;
|
||||
fi;
|
||||
EOS
|
||||
echo " export PYENV_DEACTIVATE=\"\$VIRTUAL_ENV\";"
|
||||
;;
|
||||
esac
|
||||
|
||||
cat <<EOS
|
||||
deactivate;
|
||||
else
|
||||
EOS
|
||||
|
||||
if [ -z "$QUIET" ]; then
|
||||
echo " echo \"pyenv-virtualenv: no virtualenv has been activated.\" 1>&2;"
|
||||
fi
|
||||
|
||||
echo " false;"
|
||||
|
||||
case "$shell" in
|
||||
fish )
|
||||
echo "end;"
|
||||
;;
|
||||
* )
|
||||
echo "fi;"
|
||||
;;
|
||||
esac
|
||||
|
||||
@@ -137,7 +137,7 @@ EOS
|
||||
}
|
||||
|
||||
@test "should fail if the version is not a virtualenv" {
|
||||
stub pyenv-virtualenv-prefix "3.3.3 : echo \"not a virtualenv\" 1>&2; false"
|
||||
stub pyenv-virtualenv-prefix "3.3.3 : false"
|
||||
|
||||
run pyenv-sh-activate "3.3.3"
|
||||
|
||||
@@ -145,7 +145,20 @@ EOS
|
||||
|
||||
assert_failure
|
||||
assert_output <<EOS
|
||||
not a virtualenv
|
||||
pyenv-virtualenv: version \`3.3.3' is not a virtualenv
|
||||
false
|
||||
EOS
|
||||
}
|
||||
|
||||
@test "should fail if the version is not a virtualenv (quiet)" {
|
||||
stub pyenv-virtualenv-prefix "3.3.3 : false"
|
||||
|
||||
run pyenv-sh-activate --quiet "3.3.3"
|
||||
|
||||
unstub pyenv-virtualenv-prefix
|
||||
|
||||
assert_failure
|
||||
assert_output <<EOS
|
||||
false
|
||||
EOS
|
||||
}
|
||||
@@ -160,6 +173,15 @@ false
|
||||
EOS
|
||||
}
|
||||
|
||||
@test "should fail if there are multiple versions (quiet)" {
|
||||
run pyenv-sh-activate --quiet "venv" "venv27"
|
||||
|
||||
assert_failure
|
||||
assert_output <<EOS
|
||||
false
|
||||
EOS
|
||||
}
|
||||
|
||||
@test "should fail if activate is invoked as a command" {
|
||||
run pyenv-activate
|
||||
|
||||
|
||||
@@ -23,7 +23,23 @@ fi;
|
||||
EOS
|
||||
}
|
||||
|
||||
@test "deactivate virtualenv (without pyenv-virtualenv-init)" {
|
||||
@test "deactivate virtualenv (quiet)" {
|
||||
export PYENV_VIRTUALENV_INIT=1
|
||||
|
||||
PYENV_SHELL="bash" run pyenv-sh-deactivate --quiet
|
||||
|
||||
assert_success
|
||||
assert_output <<EOS
|
||||
if declare -f deactivate 1>/dev/null 2>&1; then
|
||||
export PYENV_DEACTIVATE="\$VIRTUAL_ENV";
|
||||
deactivate;
|
||||
else
|
||||
false;
|
||||
fi;
|
||||
EOS
|
||||
}
|
||||
|
||||
@test "deactivate virtualenv (w/o pyenv-virtualenv-init)" {
|
||||
export PYENV_VIRTUALENV_INIT=
|
||||
|
||||
PYENV_SHELL="bash" run pyenv-sh-deactivate
|
||||
@@ -41,6 +57,23 @@ fi;
|
||||
EOS
|
||||
}
|
||||
|
||||
@test "deactivate virtualenv (w/o pyenv-virtualenv-init) (quiet)" {
|
||||
export PYENV_VIRTUALENV_INIT=
|
||||
|
||||
PYENV_SHELL="bash" run pyenv-sh-deactivate --quiet
|
||||
|
||||
assert_success
|
||||
assert_output <<EOS
|
||||
if declare -f deactivate 1>/dev/null 2>&1; then
|
||||
pyenv shell --unset;
|
||||
export PYENV_DEACTIVATE="\$VIRTUAL_ENV";
|
||||
deactivate;
|
||||
else
|
||||
false;
|
||||
fi;
|
||||
EOS
|
||||
}
|
||||
|
||||
@test "deactivate virtualenv (fish)" {
|
||||
export PYENV_VIRTUALENV_INIT=1
|
||||
|
||||
@@ -58,7 +91,23 @@ end;
|
||||
EOS
|
||||
}
|
||||
|
||||
@test "deactivate virtualenv (fish) (without pyenv-virtualenv-init)" {
|
||||
@test "deactivate virtualenv (fish) (quiet)" {
|
||||
export PYENV_VIRTUALENV_INIT=1
|
||||
|
||||
PYENV_SHELL="fish" run pyenv-sh-deactivate --quiet
|
||||
|
||||
assert_success
|
||||
assert_output <<EOS
|
||||
if functions -q deactivate
|
||||
setenv PYENV_DEACTIVATE "\$VIRTUAL_ENV";
|
||||
deactivate;
|
||||
else
|
||||
false;
|
||||
end;
|
||||
EOS
|
||||
}
|
||||
|
||||
@test "deactivate virtualenv (fish) (w/o pyenv-virtualenv-init)" {
|
||||
export PYENV_VIRTUALENV_INIT=
|
||||
|
||||
PYENV_SHELL="fish" run pyenv-sh-deactivate
|
||||
@@ -76,6 +125,22 @@ end;
|
||||
EOS
|
||||
}
|
||||
|
||||
@test "deactivate virtualenv (fish) (w/o pyenv-virtualenv-init) (quiet)" {
|
||||
export PYENV_VIRTUALENV_INIT=
|
||||
|
||||
PYENV_SHELL="fish" run pyenv-sh-deactivate --quiet
|
||||
|
||||
assert_success
|
||||
assert_output <<EOS
|
||||
if functions -q deactivate
|
||||
pyenv shell --unset;
|
||||
setenv PYENV_DEACTIVATE "\$VIRTUAL_ENV";
|
||||
deactivate;
|
||||
else
|
||||
false;
|
||||
end;
|
||||
EOS
|
||||
}
|
||||
@test "should fail if deactivate is invoked as a command" {
|
||||
run pyenv-deactivate
|
||||
|
||||
|
||||
Reference in New Issue
Block a user