選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。

187 行
4.4 KiB

  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. }