#!/usr/bin/env bats
|
|
|
|
load test_helper
|
|
|
|
setup() {
|
|
export PYENV_ROOT="${TMP}/pyenv"
|
|
}
|
|
|
|
@test "deactivate virtualenv" {
|
|
export VIRTUAL_ENV="${PYENV_ROOT}/versions/venv"
|
|
export PYENV_ACTIVATE="${PYENV_ROOT}/versions/venv"
|
|
export PYENV_ACTIVATE_SHELL=
|
|
|
|
PYENV_SHELL="bash" run pyenv-sh-deactivate
|
|
|
|
assert_success
|
|
assert_output <<EOS
|
|
export PYENV_DEACTIVATE="$PYENV_ACTIVATE";
|
|
unset PYENV_ACTIVATE;
|
|
unset VIRTUAL_ENV;
|
|
EOS
|
|
}
|
|
|
|
@test "deactivate virtualenv (verbose)" {
|
|
export VIRTUAL_ENV="${PYENV_ROOT}/versions/venv"
|
|
export PYENV_ACTIVATE="${PYENV_ROOT}/versions/venv"
|
|
export PYENV_ACTIVATE_SHELL=
|
|
|
|
PYENV_SHELL="bash" run pyenv-sh-deactivate --verbose
|
|
|
|
assert_success
|
|
assert_output <<EOS
|
|
pyenv-virtualenv: deactivate venv
|
|
export PYENV_DEACTIVATE="$PYENV_ACTIVATE";
|
|
unset PYENV_ACTIVATE;
|
|
unset VIRTUAL_ENV;
|
|
EOS
|
|
}
|
|
|
|
@test "deactivate virtualenv (no-error)" {
|
|
export VIRTUAL_ENV="${PYENV_ROOT}/versions/venv"
|
|
export PYENV_ACTIVATE="${PYENV_ROOT}/versions/venv"
|
|
export PYENV_ACTIVATE_SHELL=
|
|
|
|
PYENV_SHELL="bash" run pyenv-sh-deactivate --no-error
|
|
|
|
assert_success
|
|
assert_output <<EOS
|
|
export PYENV_DEACTIVATE="$PYENV_ACTIVATE";
|
|
unset PYENV_ACTIVATE;
|
|
unset VIRTUAL_ENV;
|
|
EOS
|
|
}
|
|
|
|
@test "deactivate virtualenv (with shell activation)" {
|
|
export VIRTUAL_ENV="${PYENV_ROOT}/versions/venv"
|
|
export PYENV_ACTIVATE="${PYENV_ROOT}/versions/venv"
|
|
export PYENV_ACTIVATE_SHELL=1
|
|
|
|
PYENV_SHELL="bash" run pyenv-sh-deactivate
|
|
|
|
assert_success
|
|
assert_output <<EOS
|
|
pyenv shell --unset;
|
|
unset PYENV_ACTIVATE_SHELL;
|
|
export PYENV_DEACTIVATE="$PYENV_ACTIVATE";
|
|
unset PYENV_ACTIVATE;
|
|
unset VIRTUAL_ENV;
|
|
EOS
|
|
}
|
|
|
|
@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_SHELL=1
|
|
|
|
PYENV_SHELL="bash" run pyenv-sh-deactivate --no-error
|
|
|
|
assert_success
|
|
assert_output <<EOS
|
|
pyenv shell --unset;
|
|
unset PYENV_ACTIVATE_SHELL;
|
|
export PYENV_DEACTIVATE="$PYENV_ACTIVATE";
|
|
unset PYENV_ACTIVATE;
|
|
unset VIRTUAL_ENV;
|
|
EOS
|
|
}
|
|
|
|
@test "deactivate virtualenv which has been activated manually" {
|
|
export VIRTUAL_ENV="${PYENV_ROOT}/versions/venv"
|
|
export PYENV_ACTIVATE=
|
|
export PYENV_ACTIVATE_SHELL=
|
|
|
|
PYENV_SHELL="bash" run pyenv-sh-deactivate
|
|
|
|
assert_success
|
|
assert_output <<EOS
|
|
export PYENV_DEACTIVATE="$VIRTUAL_ENV";
|
|
unset PYENV_ACTIVATE;
|
|
unset VIRTUAL_ENV;
|
|
EOS
|
|
}
|
|
|
|
@test "deactivate virtualenv (fish)" {
|
|
export VIRTUAL_ENV="${PYENV_ROOT}/versions/venv"
|
|
export PYENV_ACTIVATE="${PYENV_ROOT}/versions/venv"
|
|
export PYENV_ACTIVATE_SHELL=
|
|
|
|
PYENV_SHELL="fish" run pyenv-sh-deactivate
|
|
|
|
assert_success
|
|
assert_output <<EOS
|
|
setenv PYENV_DEACTIVATE "$PYENV_ACTIVATE";
|
|
set -e PYENV_ACTIVATE;
|
|
set -e VIRTUAL_ENV;
|
|
EOS
|
|
}
|
|
|
|
@test "deactivate virtualenv (fish) (no-error)" {
|
|
export VIRTUAL_ENV="${PYENV_ROOT}/versions/venv"
|
|
export PYENV_ACTIVATE="${PYENV_ROOT}/versions/venv"
|
|
export PYENV_ACTIVATE_SHELL=
|
|
|
|
PYENV_SHELL="fish" run pyenv-sh-deactivate --no-error
|
|
|
|
assert_success
|
|
assert_output <<EOS
|
|
setenv PYENV_DEACTIVATE "$PYENV_ACTIVATE";
|
|
set -e PYENV_ACTIVATE;
|
|
set -e VIRTUAL_ENV;
|
|
EOS
|
|
}
|
|
|
|
@test "deactivate virtualenv (fish) (with shell activation)" {
|
|
export VIRTUAL_ENV="${PYENV_ROOT}/versions/venv"
|
|
export PYENV_ACTIVATE="${PYENV_ROOT}/versions/venv"
|
|
export PYENV_ACTIVATE_SHELL=1
|
|
|
|
PYENV_SHELL="fish" run pyenv-sh-deactivate
|
|
|
|
assert_success
|
|
assert_output <<EOS
|
|
pyenv shell --unset;
|
|
set -e PYENV_ACTIVATE_SHELL;
|
|
setenv PYENV_DEACTIVATE "$PYENV_ACTIVATE";
|
|
set -e PYENV_ACTIVATE;
|
|
set -e VIRTUAL_ENV;
|
|
EOS
|
|
}
|
|
|
|
@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_SHELL=1
|
|
|
|
PYENV_SHELL="fish" run pyenv-sh-deactivate --no-error
|
|
|
|
assert_success
|
|
assert_output <<EOS
|
|
pyenv shell --unset;
|
|
set -e PYENV_ACTIVATE_SHELL;
|
|
setenv PYENV_DEACTIVATE "$PYENV_ACTIVATE";
|
|
set -e PYENV_ACTIVATE;
|
|
set -e VIRTUAL_ENV;
|
|
EOS
|
|
}
|
|
|
|
@test "deactivate virtualenv which has been activated manually (fish)" {
|
|
export VIRTUAL_ENV="${PYENV_ROOT}/versions/venv"
|
|
export PYENV_ACTIVATE=
|
|
export PYENV_ACTIVATE_SHELL=
|
|
|
|
PYENV_SHELL="fish" run pyenv-sh-deactivate
|
|
|
|
assert_success
|
|
assert_output <<EOS
|
|
setenv PYENV_DEACTIVATE "$VIRTUAL_ENV";
|
|
set -e PYENV_ACTIVATE;
|
|
set -e VIRTUAL_ENV;
|
|
EOS
|
|
}
|
|
|
|
@test "should fail if deactivate is invoked as a command" {
|
|
run pyenv-deactivate
|
|
|
|
assert_failure
|
|
}
|