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.

72 lines
1.8 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
  13. assert_success "system (set by ${PYENV_ROOT}/version)"
  14. }
  15. @test "set by PYENV_VERSION" {
  16. create_version "3.3.3"
  17. PYENV_VERSION=3.3.3 run pyenv-version
  18. assert_success "3.3.3 (set by PYENV_VERSION environment variable)"
  19. }
  20. @test "set by local file" {
  21. create_version "3.3.3"
  22. cat > ".python-version" <<<"3.3.3"
  23. run pyenv-version
  24. assert_success "3.3.3 (set by ${PWD}/.python-version)"
  25. }
  26. @test "set by global file" {
  27. create_version "3.3.3"
  28. cat > "${PYENV_ROOT}/version" <<<"3.3.3"
  29. run pyenv-version
  30. assert_success "3.3.3 (set by ${PYENV_ROOT}/version)"
  31. }
  32. @test "set by PYENV_VERSION, one missing" {
  33. create_version "3.3.3"
  34. PYENV_VERSION=3.3.3:1.2 run pyenv-version
  35. assert_failure
  36. assert_output <<OUT
  37. pyenv: version \`1.2' is not installed (set by PYENV_VERSION environment variable)
  38. 3.3.3 (set by PYENV_VERSION environment variable)
  39. OUT
  40. }
  41. @test "set by PYENV_VERSION, two missing" {
  42. create_version "3.3.3"
  43. PYENV_VERSION=3.4.2:3.3.3:1.2 run pyenv-version
  44. assert_failure
  45. assert_output <<OUT
  46. pyenv: version \`3.4.2' is not installed (set by PYENV_VERSION environment variable)
  47. pyenv: version \`1.2' is not installed (set by PYENV_VERSION environment variable)
  48. 3.3.3 (set by PYENV_VERSION environment variable)
  49. OUT
  50. }
  51. pyenv-version-without-stderr() {
  52. pyenv-version 2>/dev/null
  53. }
  54. @test "set by PYENV_VERSION, one missing (stderr filtered)" {
  55. create_version "3.3.3"
  56. PYENV_VERSION=3.4.2:3.3.3 run pyenv-version-without-stderr
  57. assert_failure
  58. assert_output <<OUT
  59. 3.3.3 (set by PYENV_VERSION environment variable)
  60. OUT
  61. }