25개 이상의 토픽을 선택하실 수 없습니다. Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

137 lines
3.6 KiB

10 년 전
10 년 전
10 년 전
10 년 전
10 년 전
10 년 전
10 년 전
10 년 전
10 년 전
10 년 전
10 년 전
10 년 전
10 년 전
10 년 전
10 년 전
10 년 전
10 년 전
10 년 전
10 년 전
  1. #!/usr/bin/env bats
  2. load test_helper
  3. setup() {
  4. export PYENV_ROOT="${TMP}/pyenv"
  5. }
  6. stub_pyenv() {
  7. create_executable "${PYENV_VERSION}" "virtualenv"
  8. remove_executable "${PYENV_VERSION}" "pyvenv"
  9. stub pyenv-prefix "echo '${PYENV_ROOT}/versions/${PYENV_VERSION}'"
  10. stub pyenv-prefix "echo '${PYENV_ROOT}/versions/${PYENV_VERSION}'"
  11. stub pyenv-prefix "echo '${PYENV_ROOT}/versions/${PYENV_VERSION}'"
  12. stub pyenv-prefix "echo '${PYENV_ROOT}/versions/${PYENV_VERSION}'"
  13. stub pyenv-hooks "virtualenv : echo"
  14. stub pyenv-rehash " : echo rehashed"
  15. }
  16. unstub_pyenv() {
  17. unstub pyenv-prefix
  18. unstub pyenv-hooks
  19. unstub pyenv-rehash
  20. }
  21. @test "create virtualenv from given version" {
  22. export PYENV_VERSION="3.2.1"
  23. stub_pyenv "${PYENV_VERSION}"
  24. stub pyenv-exec "virtualenv * : echo PYENV_VERSION=\${PYENV_VERSION} \"\$@\""
  25. stub pyenv-exec "python -s -m ensurepip : false"
  26. stub pyenv-exec "python -s */get-pip.py : true"
  27. stub curl true
  28. run pyenv-virtualenv "3.2.1" "venv"
  29. assert_success
  30. assert_output <<OUT
  31. PYENV_VERSION=3.2.1 virtualenv ${PYENV_ROOT}/versions/3.2.1/envs/venv
  32. Installing pip from https://bootstrap.pypa.io/get-pip.py...
  33. rehashed
  34. OUT
  35. unstub_pyenv
  36. unstub pyenv-exec
  37. unstub curl
  38. }
  39. @test "create virtualenv from current version" {
  40. export PYENV_VERSION="3.2.1"
  41. stub_pyenv "${PYENV_VERSION}"
  42. stub pyenv-version-name "echo \${PYENV_VERSION}"
  43. stub pyenv-exec "virtualenv * : echo PYENV_VERSION=\${PYENV_VERSION} \"\$@\""
  44. stub pyenv-exec "python -s -m ensurepip : false"
  45. stub pyenv-exec "python -s */get-pip.py : true"
  46. stub curl true
  47. run pyenv-virtualenv venv
  48. assert_success
  49. assert_output <<OUT
  50. PYENV_VERSION=3.2.1 virtualenv ${PYENV_ROOT}/versions/3.2.1/envs/venv
  51. Installing pip from https://bootstrap.pypa.io/get-pip.py...
  52. rehashed
  53. OUT
  54. unstub_pyenv
  55. unstub pyenv-version-name
  56. unstub pyenv-exec
  57. unstub curl
  58. }
  59. @test "create virtualenv with short options" {
  60. export PYENV_VERSION="3.2.1"
  61. stub_pyenv "${PYENV_VERSION}"
  62. stub pyenv-version-name "echo \${PYENV_VERSION}"
  63. stub pyenv-exec "virtualenv * : echo PYENV_VERSION=\${PYENV_VERSION} \"\$@\""
  64. stub pyenv-exec "python -s -m ensurepip : false"
  65. stub pyenv-exec "python -s */get-pip.py : true"
  66. stub curl true
  67. run pyenv-virtualenv -v -p ${TMP}/python venv
  68. assert_output <<OUT
  69. PYENV_VERSION=3.2.1 virtualenv --verbose --python=${TMP}/python ${PYENV_ROOT}/versions/3.2.1/envs/venv
  70. Installing pip from https://bootstrap.pypa.io/get-pip.py...
  71. rehashed
  72. OUT
  73. assert_success
  74. unstub_pyenv
  75. unstub pyenv-version-name
  76. unstub pyenv-exec
  77. unstub curl
  78. }
  79. @test "create virtualenv with long options" {
  80. export PYENV_VERSION="3.2.1"
  81. stub_pyenv "${PYENV_VERSION}"
  82. stub pyenv-version-name "echo \${PYENV_VERSION}"
  83. stub pyenv-exec "virtualenv * : echo PYENV_VERSION=\${PYENV_VERSION} \"\$@\""
  84. stub pyenv-exec "python -s -m ensurepip : false"
  85. stub pyenv-exec "python -s */get-pip.py : true"
  86. stub curl true
  87. run pyenv-virtualenv --verbose --python=${TMP}/python venv
  88. assert_output <<OUT
  89. PYENV_VERSION=3.2.1 virtualenv --verbose --python=${TMP}/python ${PYENV_ROOT}/versions/3.2.1/envs/venv
  90. Installing pip from https://bootstrap.pypa.io/get-pip.py...
  91. rehashed
  92. OUT
  93. assert_success
  94. unstub_pyenv
  95. unstub pyenv-version-name
  96. unstub pyenv-exec
  97. unstub curl
  98. }
  99. @test "no whitespace allowed in virtualenv name" {
  100. run pyenv-virtualenv "3.2.1" "foo bar"
  101. assert_failure
  102. assert_output <<OUT
  103. pyenv-virtualenv: no whitespace allowed in virtualenv name.
  104. OUT
  105. }
  106. @test "no tab allowed in virtualenv name" {
  107. run pyenv-virtualenv "3.2.1" "foo bar baz"
  108. assert_failure
  109. assert_output <<OUT
  110. pyenv-virtualenv: no whitespace allowed in virtualenv name.
  111. OUT
  112. }