You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

135 lines
3.3 KiB

  1. #!/usr/bin/env bats
  2. load test_helper
  3. setup() {
  4. export PYENV_ROOT="${TMP}/pyenv"
  5. unset PYENV_VERSION
  6. unset PYENV_ACTIVATE_SHELL
  7. unset PYENV_VIRTUAL_ENV
  8. unset VIRTUAL_ENV
  9. unset CONDA_DEFAULT_ENV
  10. unset PYTHONHOME
  11. unset _OLD_VIRTUAL_PYTHONHOME
  12. unset PYENV_VIRTUALENV_VERBOSE_ACTIVATE
  13. unset PYENV_VIRTUALENV_DISABLE_PROMPT
  14. unset PYENV_VIRTUAL_ENV_DISABLE_PROMPT
  15. unset VIRTUAL_ENV_DISABLE_PROMPT
  16. unset _OLD_VIRTUAL_PS1
  17. stub pyenv-hooks "deactivate : echo"
  18. }
  19. teardown() {
  20. unstub pyenv-hooks
  21. }
  22. @test "deactivate conda root" {
  23. export PYENV_VIRTUAL_ENV="${PYENV_ROOT}/versions/anaconda-2.3.0"
  24. export VIRTUAL_ENV="${PYENV_ROOT}/versions/anaconda-2.3.0"
  25. export PYENV_ACTIVATE_SHELL=
  26. export CONDA_DEFAULT_ENV="root"
  27. setup_conda "anaconda-2.3.0"
  28. PYENV_SHELL="bash" run pyenv-sh-deactivate
  29. assert_success
  30. assert_output <<EOS
  31. unset CONDA_PREFIX
  32. unset PYENV_VIRTUAL_ENV;
  33. unset VIRTUAL_ENV;
  34. unset CONDA_DEFAULT_ENV;
  35. if [ -n "\${_OLD_VIRTUAL_PATH:-}" ]; then
  36. export PATH="\${_OLD_VIRTUAL_PATH}";
  37. unset _OLD_VIRTUAL_PATH;
  38. fi;
  39. if [ -n "\${_OLD_VIRTUAL_PYTHONHOME:-}" ]; then
  40. export PYTHONHOME="\${_OLD_VIRTUAL_PYTHONHOME}";
  41. unset _OLD_VIRTUAL_PYTHONHOME;
  42. fi;
  43. if [ -n "\${_OLD_VIRTUAL_PS1:-}" ]; then
  44. export PS1="\${_OLD_VIRTUAL_PS1}";
  45. unset _OLD_VIRTUAL_PS1;
  46. fi;
  47. if declare -f deactivate 1>/dev/null 2>&1; then
  48. unset -f deactivate;
  49. fi;
  50. EOS
  51. teardown_conda "anaconda-2.3.0"
  52. }
  53. @test "deactivate conda root (fish)" {
  54. export PYENV_VIRTUAL_ENV="${PYENV_ROOT}/versions/anaconda-2.3.0"
  55. export VIRTUAL_ENV="${PYENV_ROOT}/versions/anaconda-2.3.0"
  56. export PYENV_ACTIVATE_SHELL=
  57. export CONDA_DEFAULT_ENV="root"
  58. setup_conda "anaconda-2.3.0"
  59. PYENV_SHELL="fish" run pyenv-sh-deactivate
  60. assert_success
  61. assert_output <<EOS
  62. set -e PYENV_VIRTUAL_ENV;
  63. set -e VIRTUAL_ENV;
  64. set -e CONDA_DEFAULT_ENV;
  65. if [ -n "\$_OLD_VIRTUAL_PATH" ];
  66. set -gx PATH "\$_OLD_VIRTUAL_PATH";
  67. set -e _OLD_VIRTUAL_PATH;
  68. end;
  69. if [ -n "\$_OLD_VIRTUAL_PYTHONHOME" ];
  70. set -gx PYTHONHOME "\$_OLD_VIRTUAL_PYTHONHOME";
  71. set -e _OLD_VIRTUAL_PYTHONHOME;
  72. end;
  73. # check if old prompt function exists
  74. if functions -q _pyenv_old_prompt
  75. # remove old prompt function if exists.
  76. functions -e fish_prompt
  77. functions -c _pyenv_old_prompt fish_prompt
  78. functions -e _pyenv_old_prompt
  79. end
  80. if functions -q deactivate;
  81. functions -e deactivate;
  82. end;
  83. EOS
  84. teardown_conda "anaconda-2.3.0"
  85. }
  86. @test "deactivate conda env" {
  87. export PYENV_VIRTUAL_ENV="${PYENV_ROOT}/versions/anaconda-2.3.0/envs/foo"
  88. export VIRTUAL_ENV="${PYENV_ROOT}/versions/anaconda-2.3.0/envs/foo"
  89. export PYENV_ACTIVATE_SHELL=
  90. export CONDA_DEFAULT_ENV="foo"
  91. setup_conda "anaconda-2.3.0" "foo"
  92. PYENV_SHELL="bash" run pyenv-sh-deactivate
  93. assert_success
  94. assert_output <<EOS
  95. . "${PYENV_ROOT}/versions/anaconda-2.3.0/envs/foo/etc/conda/deactivate.d/deactivate.sh";
  96. unset CONDA_PREFIX
  97. unset PYENV_VIRTUAL_ENV;
  98. unset VIRTUAL_ENV;
  99. unset CONDA_DEFAULT_ENV;
  100. if [ -n "\${_OLD_VIRTUAL_PATH:-}" ]; then
  101. export PATH="\${_OLD_VIRTUAL_PATH}";
  102. unset _OLD_VIRTUAL_PATH;
  103. fi;
  104. if [ -n "\${_OLD_VIRTUAL_PYTHONHOME:-}" ]; then
  105. export PYTHONHOME="\${_OLD_VIRTUAL_PYTHONHOME}";
  106. unset _OLD_VIRTUAL_PYTHONHOME;
  107. fi;
  108. if [ -n "\${_OLD_VIRTUAL_PS1:-}" ]; then
  109. export PS1="\${_OLD_VIRTUAL_PS1}";
  110. unset _OLD_VIRTUAL_PS1;
  111. fi;
  112. if declare -f deactivate 1>/dev/null 2>&1; then
  113. unset -f deactivate;
  114. fi;
  115. EOS
  116. teardown_conda "anaconda-2.3.0" "foo"
  117. }