Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.

94 rader
1.9 KiB

  1. #!/usr/bin/env bats
  2. load test_helper
  3. create_version() {
  4. mkdir -p "${PYENV_ROOT}/versions/$1"
  5. }
  6. setup() {
  7. mkdir -p "$PYENV_TEST_DIR"
  8. cd "$PYENV_TEST_DIR"
  9. }
  10. @test "no version selected" {
  11. assert [ ! -d "${PYENV_ROOT}/versions" ]
  12. run pyenv-version-name
  13. assert_success "system"
  14. }
  15. @test "system version is not checked for existance" {
  16. PYENV_VERSION=system run pyenv-version-name
  17. assert_success "system"
  18. }
  19. @test "PYENV_VERSION has precedence over local" {
  20. create_version "2.7.6"
  21. create_version "3.3.3"
  22. cat > ".python-version" <<<"2.7.6"
  23. run pyenv-version-name
  24. assert_success "2.7.6"
  25. PYENV_VERSION=3.3.3 run pyenv-version-name
  26. assert_success "3.3.3"
  27. }
  28. @test "local file has precedence over global" {
  29. create_version "2.7.6"
  30. create_version "3.3.3"
  31. cat > "${PYENV_ROOT}/version" <<<"2.7.6"
  32. run pyenv-version-name
  33. assert_success "2.7.6"
  34. cat > ".python-version" <<<"3.3.3"
  35. run pyenv-version-name
  36. assert_success "3.3.3"
  37. }
  38. @test "missing version" {
  39. PYENV_VERSION=1.2 run pyenv-version-name
  40. assert_failure "pyenv: version \`1.2' is not installed"
  41. }
  42. @test "one missing version (second missing)" {
  43. create_version "3.4.2"
  44. PYENV_VERSION="3.4.2:1.2" run pyenv-version-name
  45. assert_failure
  46. assert_output <<OUT
  47. pyenv: version \`1.2' is not installed
  48. 3.4.2
  49. OUT
  50. }
  51. @test "one missing version (first missing)" {
  52. create_version "3.4.2"
  53. PYENV_VERSION="1.2:3.4.2" run pyenv-version-name
  54. assert_failure
  55. assert_output <<OUT
  56. pyenv: version \`1.2' is not installed
  57. 3.4.2
  58. OUT
  59. }
  60. pyenv-version-name-without-stderr() {
  61. pyenv-version-name 2>/dev/null
  62. }
  63. @test "one missing version (without stderr)" {
  64. create_version "3.4.2"
  65. PYENV_VERSION="1.2:3.4.2" run pyenv-version-name-without-stderr
  66. assert_failure
  67. assert_output <<OUT
  68. 3.4.2
  69. OUT
  70. }
  71. @test "version with prefix in name" {
  72. create_version "2.7.6"
  73. cat > ".python-version" <<<"python-2.7.6"
  74. run pyenv-version-name
  75. assert_success
  76. assert_output "2.7.6"
  77. }