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.

156 lines
5.3 KiB

  1. #!/usr/bin/env bats
  2. load test_helper
  3. setup() {
  4. export HOME="${TMP}"
  5. export PYENV_ROOT="${TMP}/pyenv"
  6. }
  7. @test "activate conda root from current version" {
  8. export PYENV_VIRTUALENV_INIT=1
  9. create_conda "anaconda-2.3.0"
  10. stub pyenv-version-name "echo anaconda-2.3.0"
  11. stub pyenv-virtualenv-prefix "anaconda-2.3.0 : echo \"${PYENV_ROOT}/versions/anaconda-2.3.0\""
  12. stub pyenv-prefix "anaconda-2.3.0 : echo \"${PYENV_ROOT}/versions/anaconda-2.3.0\""
  13. stub pyenv-prefix "anaconda-2.3.0 : echo \"${PYENV_ROOT}/versions/anaconda-2.3.0\""
  14. PYENV_SHELL="bash" PYENV_VERSION="anaconda-2.3.0" run pyenv-sh-activate
  15. unstub pyenv-version-name
  16. unstub pyenv-virtualenv-prefix
  17. unstub pyenv-prefix
  18. assert_success
  19. assert_output <<EOS
  20. unset PYENV_DEACTIVATE;
  21. export PYENV_ACTIVATE="${PYENV_ROOT}/versions/anaconda-2.3.0";
  22. export VIRTUAL_ENV="${PYENV_ROOT}/versions/anaconda-2.3.0";
  23. export CONDA_DEFAULT_ENV="root";
  24. EOS
  25. }
  26. @test "activate conda root from current version (fish)" {
  27. export PYENV_VIRTUALENV_INIT=1
  28. create_conda "anaconda-2.3.0"
  29. stub pyenv-version-name "echo anaconda-2.3.0"
  30. stub pyenv-virtualenv-prefix "anaconda-2.3.0 : echo \"${PYENV_ROOT}/versions/anaconda-2.3.0\""
  31. stub pyenv-prefix "anaconda-2.3.0 : echo \"${PYENV_ROOT}/versions/anaconda-2.3.0\""
  32. stub pyenv-prefix "anaconda-2.3.0 : echo \"${PYENV_ROOT}/versions/anaconda-2.3.0\""
  33. PYENV_SHELL="fish" PYENV_VERSION="anaconda-2.3.0" run pyenv-sh-activate
  34. unstub pyenv-version-name
  35. unstub pyenv-virtualenv-prefix
  36. unstub pyenv-prefix
  37. assert_success
  38. assert_output <<EOS
  39. set -e PYENV_DEACTIVATE;
  40. setenv PYENV_ACTIVATE "${TMP}/pyenv/versions/anaconda-2.3.0";
  41. setenv VIRTUAL_ENV "${TMP}/pyenv/versions/anaconda-2.3.0";
  42. setenv CONDA_DEFAULT_ENV "root";
  43. EOS
  44. }
  45. @test "activate conda root from command-line argument" {
  46. export PYENV_VIRTUALENV_INIT=1
  47. create_conda "anaconda-2.3.0"
  48. create_conda "miniconda-3.9.1"
  49. stub pyenv-virtualenv-prefix "miniconda-3.9.1 : echo \"${PYENV_ROOT}/versions/miniconda-3.9.1\""
  50. stub pyenv-prefix "miniconda-3.9.1 : echo \"${PYENV_ROOT}/versions/miniconda-3.9.1\""
  51. stub pyenv-prefix "miniconda-3.9.1 : echo \"${PYENV_ROOT}/versions/miniconda-3.9.1\""
  52. PYENV_SHELL="bash" PYENV_VERSION="anaconda-2.3.0" run pyenv-sh-activate "miniconda-3.9.1"
  53. unstub pyenv-virtualenv-prefix
  54. unstub pyenv-prefix
  55. assert_success
  56. assert_output <<EOS
  57. pyenv shell "miniconda-3.9.1";
  58. export PYENV_ACTIVATE_SHELL=1;
  59. unset PYENV_DEACTIVATE;
  60. export PYENV_ACTIVATE="${PYENV_ROOT}/versions/miniconda-3.9.1";
  61. export VIRTUAL_ENV="${PYENV_ROOT}/versions/miniconda-3.9.1";
  62. export CONDA_DEFAULT_ENV="root";
  63. EOS
  64. }
  65. @test "activate conda env from current version" {
  66. export PYENV_VIRTUALENV_INIT=1
  67. create_conda "anaconda-2.3.0" "foo"
  68. stub pyenv-version-name "echo anaconda-2.3.0/envs/foo"
  69. stub pyenv-virtualenv-prefix "anaconda-2.3.0/envs/foo : echo \"${PYENV_ROOT}/versions/anaconda-2.3.0/envs/foo\""
  70. stub pyenv-prefix "anaconda-2.3.0/envs/foo : echo \"${PYENV_ROOT}/versions/anaconda-2.3.0/envs/foo\""
  71. stub pyenv-prefix "anaconda-2.3.0/envs/foo : echo \"${PYENV_ROOT}/versions/anaconda-2.3.0/envs/foo\""
  72. PYENV_SHELL="bash" PYENV_VERSION="anaconda-2.3.0/envs/foo" run pyenv-sh-activate
  73. unstub pyenv-version-name
  74. unstub pyenv-virtualenv-prefix
  75. unstub pyenv-prefix
  76. assert_success
  77. assert_output <<EOS
  78. unset PYENV_DEACTIVATE;
  79. export PYENV_ACTIVATE="${PYENV_ROOT}/versions/anaconda-2.3.0/envs/foo";
  80. export VIRTUAL_ENV="${PYENV_ROOT}/versions/anaconda-2.3.0/envs/foo";
  81. export CONDA_DEFAULT_ENV="foo";
  82. EOS
  83. }
  84. @test "activate conda env from command-line argument" {
  85. export PYENV_VIRTUALENV_INIT=1
  86. create_conda "anaconda-2.3.0" "foo"
  87. create_conda "miniconda-3.9.1" "bar"
  88. stub pyenv-virtualenv-prefix "miniconda-3.9.1/envs/bar : echo \"${PYENV_ROOT}/versions/miniconda-3.9.1\""
  89. stub pyenv-prefix "miniconda-3.9.1/envs/bar : echo \"${PYENV_ROOT}/versions/miniconda-3.9.1/envs/bar\""
  90. stub pyenv-prefix "miniconda-3.9.1/envs/bar : echo \"${PYENV_ROOT}/versions/miniconda-3.9.1/envs/bar\""
  91. PYENV_SHELL="bash" PYENV_VERSION="anaconda-2.3.0/envs/foo" run pyenv-sh-activate "miniconda-3.9.1/envs/bar"
  92. unstub pyenv-virtualenv-prefix
  93. unstub pyenv-prefix
  94. assert_success
  95. assert_output <<EOS
  96. pyenv shell "miniconda-3.9.1/envs/bar";
  97. export PYENV_ACTIVATE_SHELL=1;
  98. unset PYENV_DEACTIVATE;
  99. export PYENV_ACTIVATE="${PYENV_ROOT}/versions/miniconda-3.9.1/envs/bar";
  100. export VIRTUAL_ENV="${PYENV_ROOT}/versions/miniconda-3.9.1/envs/bar";
  101. export CONDA_DEFAULT_ENV="bar";
  102. EOS
  103. }
  104. @test "activate conda env from command-line argument in short-form" {
  105. export PYENV_VIRTUALENV_INIT=1
  106. create_conda "miniconda-3.9.1" "bar"
  107. stub pyenv-prefix "bar : false"
  108. stub pyenv-version-name " : echo miniconda-3.9.1"
  109. stub pyenv-virtualenv-prefix "miniconda-3.9.1/envs/bar : echo \"${PYENV_ROOT}/versions/miniconda-3.9.1/envs/bar\""
  110. stub pyenv-prefix "miniconda-3.9.1/envs/bar : echo \"${PYENV_ROOT}/versions/miniconda-3.9.1/envs/bar\""
  111. PYENV_SHELL="bash" PYENV_VERSION="miniconda-3.9.1" run pyenv-sh-activate "bar"
  112. unstub pyenv-prefix
  113. unstub pyenv-version-name
  114. unstub pyenv-virtualenv-prefix
  115. assert_success
  116. assert_output <<EOS
  117. pyenv shell "miniconda-3.9.1/envs/bar";
  118. export PYENV_ACTIVATE_SHELL=1;
  119. unset PYENV_DEACTIVATE;
  120. export PYENV_ACTIVATE="${PYENV_ROOT}/versions/miniconda-3.9.1/envs/bar";
  121. export VIRTUAL_ENV="${PYENV_ROOT}/versions/miniconda-3.9.1/envs/bar";
  122. export CONDA_DEFAULT_ENV="bar";
  123. EOS
  124. }