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.

187 regels
4.4 KiB

10 jaren geleden
10 jaren geleden
10 jaren geleden
10 jaren geleden
10 jaren geleden
10 jaren geleden
  1. #!/usr/bin/env bats
  2. load test_helper
  3. setup() {
  4. export PYENV_ROOT="${TMP}/pyenv"
  5. }
  6. @test "deactivate virtualenv" {
  7. export VIRTUAL_ENV="${PYENV_ROOT}/versions/venv"
  8. export PYENV_ACTIVATE="${PYENV_ROOT}/versions/venv"
  9. export PYENV_ACTIVATE_SHELL=
  10. PYENV_SHELL="bash" run pyenv-sh-deactivate
  11. assert_success
  12. assert_output <<EOS
  13. export PYENV_DEACTIVATE="$PYENV_ACTIVATE";
  14. unset PYENV_ACTIVATE;
  15. unset VIRTUAL_ENV;
  16. EOS
  17. }
  18. @test "deactivate virtualenv (verbose)" {
  19. export VIRTUAL_ENV="${PYENV_ROOT}/versions/venv"
  20. export PYENV_ACTIVATE="${PYENV_ROOT}/versions/venv"
  21. export PYENV_ACTIVATE_SHELL=
  22. PYENV_SHELL="bash" run pyenv-sh-deactivate --verbose
  23. assert_success
  24. assert_output <<EOS
  25. pyenv-virtualenv: deactivate venv
  26. export PYENV_DEACTIVATE="$PYENV_ACTIVATE";
  27. unset PYENV_ACTIVATE;
  28. unset VIRTUAL_ENV;
  29. EOS
  30. }
  31. @test "deactivate virtualenv (no-error)" {
  32. export VIRTUAL_ENV="${PYENV_ROOT}/versions/venv"
  33. export PYENV_ACTIVATE="${PYENV_ROOT}/versions/venv"
  34. export PYENV_ACTIVATE_SHELL=
  35. PYENV_SHELL="bash" run pyenv-sh-deactivate --no-error
  36. assert_success
  37. assert_output <<EOS
  38. export PYENV_DEACTIVATE="$PYENV_ACTIVATE";
  39. unset PYENV_ACTIVATE;
  40. unset VIRTUAL_ENV;
  41. EOS
  42. }
  43. @test "deactivate virtualenv (with shell activation)" {
  44. export VIRTUAL_ENV="${PYENV_ROOT}/versions/venv"
  45. export PYENV_ACTIVATE="${PYENV_ROOT}/versions/venv"
  46. export PYENV_ACTIVATE_SHELL=1
  47. PYENV_SHELL="bash" run pyenv-sh-deactivate
  48. assert_success
  49. assert_output <<EOS
  50. pyenv shell --unset;
  51. unset PYENV_ACTIVATE_SHELL;
  52. export PYENV_DEACTIVATE="$PYENV_ACTIVATE";
  53. unset PYENV_ACTIVATE;
  54. unset VIRTUAL_ENV;
  55. EOS
  56. }
  57. @test "deactivate virtualenv (with shell activation) (no-error)" {
  58. export VIRTUAL_ENV="${PYENV_ROOT}/versions/venv"
  59. export PYENV_ACTIVATE="${PYENV_ROOT}/versions/venv"
  60. export PYENV_ACTIVATE_SHELL=1
  61. PYENV_SHELL="bash" run pyenv-sh-deactivate --no-error
  62. assert_success
  63. assert_output <<EOS
  64. pyenv shell --unset;
  65. unset PYENV_ACTIVATE_SHELL;
  66. export PYENV_DEACTIVATE="$PYENV_ACTIVATE";
  67. unset PYENV_ACTIVATE;
  68. unset VIRTUAL_ENV;
  69. EOS
  70. }
  71. @test "deactivate virtualenv which has been activated manually" {
  72. export VIRTUAL_ENV="${PYENV_ROOT}/versions/venv"
  73. export PYENV_ACTIVATE=
  74. export PYENV_ACTIVATE_SHELL=
  75. PYENV_SHELL="bash" run pyenv-sh-deactivate
  76. assert_success
  77. assert_output <<EOS
  78. export PYENV_DEACTIVATE="$VIRTUAL_ENV";
  79. unset PYENV_ACTIVATE;
  80. unset VIRTUAL_ENV;
  81. EOS
  82. }
  83. @test "deactivate virtualenv (fish)" {
  84. export VIRTUAL_ENV="${PYENV_ROOT}/versions/venv"
  85. export PYENV_ACTIVATE="${PYENV_ROOT}/versions/venv"
  86. export PYENV_ACTIVATE_SHELL=
  87. PYENV_SHELL="fish" run pyenv-sh-deactivate
  88. assert_success
  89. assert_output <<EOS
  90. setenv PYENV_DEACTIVATE "$PYENV_ACTIVATE";
  91. set -e PYENV_ACTIVATE;
  92. set -e VIRTUAL_ENV;
  93. EOS
  94. }
  95. @test "deactivate virtualenv (fish) (no-error)" {
  96. export VIRTUAL_ENV="${PYENV_ROOT}/versions/venv"
  97. export PYENV_ACTIVATE="${PYENV_ROOT}/versions/venv"
  98. export PYENV_ACTIVATE_SHELL=
  99. PYENV_SHELL="fish" run pyenv-sh-deactivate --no-error
  100. assert_success
  101. assert_output <<EOS
  102. setenv PYENV_DEACTIVATE "$PYENV_ACTIVATE";
  103. set -e PYENV_ACTIVATE;
  104. set -e VIRTUAL_ENV;
  105. EOS
  106. }
  107. @test "deactivate virtualenv (fish) (with shell activation)" {
  108. export VIRTUAL_ENV="${PYENV_ROOT}/versions/venv"
  109. export PYENV_ACTIVATE="${PYENV_ROOT}/versions/venv"
  110. export PYENV_ACTIVATE_SHELL=1
  111. PYENV_SHELL="fish" run pyenv-sh-deactivate
  112. assert_success
  113. assert_output <<EOS
  114. pyenv shell --unset;
  115. set -e PYENV_ACTIVATE_SHELL;
  116. setenv PYENV_DEACTIVATE "$PYENV_ACTIVATE";
  117. set -e PYENV_ACTIVATE;
  118. set -e VIRTUAL_ENV;
  119. EOS
  120. }
  121. @test "deactivate virtualenv (fish) (with shell activation) (no-error)" {
  122. export VIRTUAL_ENV="${PYENV_ROOT}/versions/venv"
  123. export PYENV_ACTIVATE="${PYENV_ROOT}/versions/venv"
  124. export PYENV_ACTIVATE_SHELL=1
  125. PYENV_SHELL="fish" run pyenv-sh-deactivate --no-error
  126. assert_success
  127. assert_output <<EOS
  128. pyenv shell --unset;
  129. set -e PYENV_ACTIVATE_SHELL;
  130. setenv PYENV_DEACTIVATE "$PYENV_ACTIVATE";
  131. set -e PYENV_ACTIVATE;
  132. set -e VIRTUAL_ENV;
  133. EOS
  134. }
  135. @test "deactivate virtualenv which has been activated manually (fish)" {
  136. export VIRTUAL_ENV="${PYENV_ROOT}/versions/venv"
  137. export PYENV_ACTIVATE=
  138. export PYENV_ACTIVATE_SHELL=
  139. PYENV_SHELL="fish" run pyenv-sh-deactivate
  140. assert_success
  141. assert_output <<EOS
  142. setenv PYENV_DEACTIVATE "$VIRTUAL_ENV";
  143. set -e PYENV_ACTIVATE;
  144. set -e VIRTUAL_ENV;
  145. EOS
  146. }
  147. @test "should fail if deactivate is invoked as a command" {
  148. run pyenv-deactivate
  149. assert_failure
  150. }